Получить, изменить и откомпилить процедуры MS SQL server.
От: solo700  
Дата: 02.12.11 13:49
Оценка:
Вопрос в следующем. Есть база данных на MS SQL. В ней есть некоторый набор процедур(очень много).
Теперь встал вопрос внести небольшие изменения во всех эти процедуры. Изменения хоть и небольшие —
изменить названия некоторых таблиц — но открывать их руками, вносить изменения и компилить —
ну очень не хочется. Желательно сделать все это в скрипте. Ну что то типа :

select
name
from sysobjects where name like 'SABL%' and type = 'P'
open upd_proc
fetch next from upd_proc into @sn_name_tbl
while @@fetch_status = 0
begin 
PRINT @sn_name_tbl
--Получить текст процедуры
--Внести изменения
--Откомпилировать
fetch next from upd_proc into @sn_name_tbl


Как получить текст процедуры и откомпилировать её ?
Re: Получить, изменить и откомпилить процедуры MS SQL server
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 02.12.11 14:03
Оценка:
Здравствуйте, solo700, Вы писали:


S>Как получить текст процедуры и откомпилировать её ?



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

А дальше все просто: меняем строку и выполняем alter proc...

Но, есть нюансы. Поэтому, лучшим вариантом мне представляется использование SMO
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re: Получить, изменить и откомпилить процедуры MS SQL server
От: ZAMUNDA Земля для жалоб и предложений
Дата: 03.12.11 00:37
Оценка:
Здравствуйте, solo700, Вы писали:

S>Как получить текст процедуры и откомпилировать её ?

PowerShell
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[2]: Получить, изменить и откомпилить процедуры MS SQL ser
От: solo700  
Дата: 03.12.11 12:43
Оценка:
S>Но, есть нюансы. Поэтому, лучшим вариантом мне представляется использование SMO

Большое спасибо ! Действительно есть заморочки с корректировкой процедур состоящих из нескольких строк в syscomments. Попробую оба метода.
Re[2]: Получить, изменить и откомпилить процедуры MS SQL ser
От: solo700  
Дата: 03.12.11 12:51
Оценка:
ZAM>PowerShell

Большое спасибо ! Слышал о нем, но считал, что это для админов — похоже был не прав ... надо покопать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.