問題:
執行在客戶端建立預存程序的SQL腳本時資料庫,如何確定特定的預存程序是否已存在以避免語法錯誤?
答案:
要實現此目的,請使用以下方法:
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 ....
說明:
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 ....
透過使用此方法,您可以在建立過程中動態處理預存程序的存在,確保僅在需要時創建它們,否則進行修改。
以上是如何動態處理預存程序的建立以避免語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!