Rumah >pangkalan data >tutorial mysql >Bagaimana Saya Boleh Memastikan Prosedur Tersimpan Wujud Tanpa Menggugurkannya Dahulu?
Memastikan Kewujudan Prosedur Tersimpan sebelum Penciptaan
Dalam pengurusan pangkalan data, mencipta prosedur tersimpan pada pangkalan data pelanggan adalah tugas biasa. Walau bagaimanapun, memastikan ketiadaan mereka sebelum penciptaan boleh mencabar kerana pengehadan sintaks T-SQL.
Pendekatan Kod
Soalan tersebut menyerlahkan keperluan untuk menyemak prosedur tersimpan sedia ada sebelum melaksanakan pernyataan penciptaan. Penyelesaian yang dicadangkan oleh sesetengah pihak ialah menggugurkan mana-mana yang sedia ada sebelum membuat, tetapi ini tidak diutamakan.
Penyelesaian yang lebih elegan ialah menggunakan sintaks JIKA TIDAK WUJUD:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc') EXEC('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END') GO ALTER PROCEDURE [dbo].[MyProc] AS ...
Skrip ini menyemak sama ada prosedur tersimpan MyProc sudah wujud dalam pangkalan data. Jika tidak, ia menciptanya dengan pernyataan pemegang tempat. Jika ia wujud, ia melangkau penciptaan dan meneruskan kepada pernyataan ALTER PROCEDURE, yang mengemas kini prosedur sedia ada.
Faedah
Pendekatan ini:
Tambahan Pertimbangan
Atas ialah kandungan terperinci Bagaimana Saya Boleh Memastikan Prosedur Tersimpan Wujud Tanpa Menggugurkannya Dahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!