Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывод текста хранимых процедур  [new]
yahaha
Member

Откуда: Оттуда
Сообщений: 542
CREATE PROCEDURE EXTENDED_DUMP (@date_beg char(10),@date_end char(10)) AS  
BEGIN   
 DECLARE @f1 varchar(50); 

 DECLARE Cur1 CURSOR FOR  
  SELECT name FROM sys.all_objects 
  WHERE (CONVERT(char(10),modify_date,104)>=@date_beg)
  AND (CONVERT(char(10),modify_date,104)<=@date_end)
  AND (type IN ('TR','FN','P','IF','V'));

 OPEN Cur1;  
 FETCH NEXT FROM Cur1 INTO @f1;  
  
 WHILE @@FETCH_STATUS = 0  
 BEGIN  
  EXEC sp_helptext @f1;
  FETCH NEXT FROM Cur1 INTO @f1;
 END;  
  
 CLOSE Cur1; DEALLOCATE Cur1;  
 --SELECT @f2;
END;  

Смысл в том, чтобы при подаче запроса "EXEC EXTENDED_DUMP ..." в ответ выдавался текст, состоящий из текстов отборанных (по датам) процедур, вьюшек и т.п.

Текст одной единственной процедуры можно получить запросом типа "EXEC sp_helptext ...";

А вот указанный выше (вверху поста) код выдаёт лишь "The command(s) completed successfully."

Как исправить код?
12 янв 10, 15:54    [8172133]     Ответить | Цитировать Сообщить модератору
 Re: Вывод текста хранимых процедур  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
sys.sql_modules ?
12 янв 10, 16:15    [8172322]     Ответить | Цитировать Сообщить модератору
 Re: Вывод текста хранимых процедур  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31241
yahaha
Текст одной единственной процедуры можно получить запросом типа "EXEC sp_helptext ...";

А вот указанный выше (вверху поста) код выдаёт лишь "The command(s) completed successfully."

Как исправить код?
Нужно отладить код.

Очевидно, EXEC sp_helptext не вызывается, т.е. ваш курсор пустой
12 янв 10, 16:25    [8172434]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить