Aktualizacja procedur składowanych

0

Czy zna ktoś sposób na zaktualizowanie "hurtem" wszystkich procedur składowanych znajdująch się z bazie danych (MS SQL)?
Mam napisany program, który działa już u klienta ale musiałem dokonać wielu poprawek min. w procedurach składowanych. Wiem, że można je edytować każdą osobno ale procedur jest wiele i mogłem się pogubić gdzie i co poprawiałem.
Dlatego szukam sposobu aby zrobić jakiś skrypt dla wszystkich procedur i nadpisać stare procedury nowymi procedurami.
Zna ktoś jakiś sposób na to?

0

Wystarczy przygotować skrypt zawierający nowe wersje procedur.

Skrypt powinien mieć postać:

ALTER PROCEDURE dbo.Proc1
BEGIN
--tresc procedury
END;
GO;

ALTER PROCEDURE dbo.Proc2
BEGIN
--tresc procedury
END;
GO;
--i tak dalej...
0

Tylko to będzie taki mega skrypt, w którym można się pomylić.
Czy nie ma w np. Menagment Studio jakiejś opcji, która przygotuje taki skrypt (gotowiec)?

0

Każda baza MSSQL ma specjalny schemat INFORMATION_SCHEMA, który zawiera metadane o każdym obiekcie w bazie danych, w tym jego nazwę i definicję. Jeżeli chcesz odczytać definicję procedury wystarczy odczytać INFORMATION_SCHEMA.ROUTINES gdzie masz pola ROUTINE_NAME oraz ROUTINE_DEFINITION, które przechowują kolejno nazwę i definicję procedury. Mając taką wiedzę, wystarczy napisać prostego SELECT-a do tego schematu i "złożyć" sobie skrypt.

Jeżeli potrzebujesz po prostu wyeksportować wszystkie lub wybrane procedury, bez konieczności nanoszenia na nich jakiś własnych poprawek lub odfiltrowania w jakiś wyszukany sposób to po prostu kliknij w SSMS na swoją bazę PPM i wybierz Task->Generate Scripts.

0

Dzięki za pomoc, o coś takiego mi właśnie chodziło.
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1