SSMS: как просмотреть хранимую процедуру / просмотр / функцию без сценариев? - PullRequest
1 голос
/ 10 января 2011

Я хочу посмотреть определение хранимой процедуры, представления или пользовательской функции.

В SQL Server Management Studio 2005 я нашел единственный способ сделать это:

  1. Щелкните правой кнопкой мыши
  2. Сценарий хранимой процедуры как
  3. ALTER To
  4. Новое окно редактора запросов
  5. Перейти к 1

Я не хочу писать сценарий, я хочу посмотреть на него.

Моя задача сегодня в SSMS - быстро пройти через хранимые процедуры, чтобы найти интересующую меня. Я загрузил Enterprise Manager в режиме Windows XP (оснастка MMC не работает нативно в 64-битной среде). ), и моя работа на намного проще:

  1. Нажмите ввод
  2. Перейти к 1

Я пытаюсь найти способ взглянуть на хранимую процедуру - мне не интересно ее писать.

Ответы [ 6 ]

5 голосов
/ 10 января 2011

Я сделал несколько быстрых поисков в Google и нашел это .

Копирование и вставка с сайта:

-- Get Stored Procedure Content 
--    Name = Stored Procedure Name. 
--    Colid = Multiple lines, their sequence. 
SELECT text 
FROM syscomments 
WHERE id = (SELECT id FROM sysobjects WHERE name = '{0}') 
ORDER BY colid 
1 голос
/ 14 мая 2019
exec sp_helptext N'<stored proc name>'

Пример:

exec sp_helptext N'mydatabase.dbo.myStoredProc'

Это покажет все строки процедуры без необходимости маневрировать GUI в sp.

1 голос
/ 10 января 2011
SELECT text
FROM syscomments c
INNER JOIN sysobjects o
ON o.id = c.id
WHERE o.type = 'P'
and o.Name = '{0}'
FOR XML PATH('')
1 голос
/ 10 января 2011

В зависимости от того, где находится информация, пытались ли вы отфильтровать ее «чтобы найти интересующую меня информацию»?

Filtering Stored Procedures

0 голосов
/ 04 июля 2016

Я нашел решение для предварительного просмотра хранимой функции в SQL Server Management Studio 2012. Это решение не для программистов

  1. Найти выбранную функцию в обозревателе объектов.
  2. Нажмите на нее правой кнопкой мыши.
  3. Выберите Изменить.
  4. Отображается функция предварительного просмотра. Вы можете скопировать его в NotePad ++ и проанализировать.

Надеюсь, это будет полезно.

0 голосов
/ 11 марта 2012

Использование syscomments имеет потенциальную проблему: большие процедуры разбиваются на несколько строк, а иногда важные идентификаторы делятся на 2 части.Как:

row1: ..... veryimportantide

row2: ntifier .....

так,если вы ищете veryimportantidentifier - вы никогда не найдете его.(например - ищет все ссылки на него)

Когда я что-то ищу, и это очень важно - я генерирую скрипты для всех объектов и перемещаюсь туда, используя что-то вроде Notepad ++ или Visual Studio

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...