Ich habe ein SQL-Skript, das jedes Mal ausgeführt werden muss, wenn ein Client die Funktionalität "Datenbankverwaltung" ausführt. Das Skript umfasst das Erstellen gespeicherter Prozeduren in der Client-Datenbank. Einige dieser Clients verfügen möglicherweise bereits beim Ausführen des Skripts über die gespeicherte Prozedur, andere möglicherweise nicht. Ich muss die fehlenden gespeicherten Prozeduren zur Client-Datenbank hinzufügen, aber es spielt keine Rolle, wie sehr ich versuche, die T-SQL-Syntax zu biegen
CREATE / ALTER PROCEDURE 'muss die erste Anweisung in einem Abfragebatch sein
Ich habe das Löschen vor dem Erstellen von Werken gelesen, aber ich mag es nicht so.
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
Wie kann ich die Existenz einer gespeicherten Prozedur überprüfen und erstellen, wenn sie nicht vorhanden ist, aber ändern, wenn sie vorhanden ist?