Heim >Datenbank >MySQL-Tutorial >Wie kann die Erstellung gespeicherter Prozeduren dynamisch gehandhabt werden, um Syntaxfehler zu vermeiden?
Frage:
Beim Ausführen eines SQL-Skripts, das gespeicherte Prozeduren im Client erstellt Wie können Sie in Datenbanken feststellen, ob eine bestimmte gespeicherte Prozedur bereits vorhanden ist, um Syntax zu vermeiden? Fehler?
Antwort:
Um dies zu erreichen, verwenden Sie den folgenden Ansatz:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND OBJECT_ID = OBJECT_ID('dbo.MyProc')) exec('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END') GO ALTER PROCEDURE [dbo].[MyProc] AS ....
Erklärung:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND OBJECT_ID = OBJECT_ID('dbo.MyProc'))
exec('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END')
ALTER PROCEDURE [dbo].[MyProc] AS ....
Mit diesem Ansatz können Sie die Existenz gespeicherter Prozeduren während der Erstellung dynamisch verwalten und so sicherstellen, dass sie nur bei Bedarf erstellt und andernfalls geändert werden.
Das obige ist der detaillierte Inhalt vonWie kann die Erstellung gespeicherter Prozeduren dynamisch gehandhabt werden, um Syntaxfehler zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!