Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Програмно извличане на източник на съхранена процедура на SQL Server, който е идентичен с източника, върнат от графичния интерфейс на SQL Server Management Studio?

EXEC sp_helptext 'your procedure name';

Това избягва проблема с подхода INFORMATION_SCHEMA, при който съхранената процедура се прекъсва, ако е твърде дълга.

Актуализация:Дейвид пише, че това не е идентично с неговия proc... може би защото връща редовете като „записи“, за да запази форматирането? Ако искате да видите резултатите в по-„естествен“ формат, можете първо да използвате Ctrl-T (извеждане като текст) и той трябва да го отпечата точно както сте го въвели. Ако правите това в код, е тривиално да направите foreach, за да съберете резултатите си по абсолютно същия начин.

Актуализация 2:Това ще предостави на източника "CREATE PROCEDURE", а не "ALTER PROCEDURE", но не знам начин да го накарам да използва "ALTER" вместо това. Малко тривиално нещо обаче, нали?

Актуализация 3:Вижте коментарите за малко повече информация как да поддържате своя SQL DDL (структура на база данни) в система за контрол на източника. Това наистина е ключът към този въпрос.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на съпоставянето на SQL Server на нечувствително към главни и малки букви?

  2. SQL Server - Най-добрият начин да получите самоличност на вмъкнатия ред?

  3. Ще се представят ли заявките ANSI JOIN спрямо не-ANSI JOIN по различен начин?

  4. Масово вмъкване на полета с фиксирана ширина

  5. Как мога да изчистя кеша на заявките на SQL Server?