Mam skrypt SQL, który musi być uruchamiany za każdym razem, gdy klient wykonuje funkcję „zarządzania bazą danych”. Skrypt obejmuje tworzenie procedur przechowywanych w bazie danych klienta. Niektóre z tych klientów mogą już mieć procedurę przechowywaną po uruchomieniu skryptu, a niektóre nie. Potrzebuję dodać brakujące procedury przechowywane do bazy danych klienta, ale nie ma znaczenia, ile próbuję zgiąć składnię T-SQL, otrzymuję
CREATE / ALTER PROCEDURE ”musi być pierwszą instrukcją w partii zapytania
Przeczytałem to upuszczenie przed utworzeniem prac, ale nie lubię robić tego w ten sposób.
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
Jak mogę dodać sprawdzanie istnienia procedury składowanej i utworzyć ją, jeśli ona nie istnieje, ale zmienić ją, jeśli ona istnieje?