sql >> Databáze >  >> RDS >> Sqlserver

Programově načíst zdroj uložené procedury SQL Server, který je identický se zdrojem vráceným uživatelským rozhraním SQL Server Management Studio?

EXEC sp_helptext 'your procedure name';

Tím se vyhnete problému s přístupem INFORMATION_SCHEMA, kdy se uložená procedura přeruší, pokud je příliš dlouhá.

Aktualizace:David píše, že to není totožné s jeho sproc...možná proto, že vrací řádky jako 'záznamy', aby se zachovalo formátování? Pokud chcete vidět výsledky v „přirozenějším“ formátu, můžete nejprve použít Ctrl-T (výstup jako text) a měl by to vytisknout přesně tak, jak jste jej zadali. Pokud to děláte v kódu, je triviální provést foreach, abyste dali dohromady své výsledky přesně stejným způsobem.

Aktualizace 2:Toto poskytne zdroji "CREATE PROCEDURE" spíše než "ALTER PROCEDURE", ale nevím o žádném způsobu, jak místo toho použít "ALTER". Trochu triviální věc, že?

Aktualizace 3:Další informace o tom, jak udržovat SQL DDL (strukturu databáze) ve zdrojovém řídicím systému, najdete v komentářích. To je skutečně klíč k této otázce.



  1. Jak vrátit řetězec v obráceném pořadí pomocí SQL Server – REVERSE()

  2. Řešení pro:Příkaz Store update, insert nebo delete ovlivnil neočekávaný počet řádků (0)

  3. Jak načíst názvy polí z dočasné tabulky (SQL Server 2008)

  4. Použití Salesforce SOQL z Linuxu