ฉันมีสคริปต์ SQL ที่ต้องรันทุกครั้งที่ไคลเอ็นต์เรียกใช้งานฟังก์ชัน "การจัดการฐานข้อมูล" สคริปต์รวมถึงการสร้างกระบวนงานที่เก็บไว้ในฐานข้อมูลลูกค้า ไคลเอนต์เหล่านี้บางส่วนอาจมีกระบวนงานที่เก็บไว้เมื่อเรียกใช้สคริปต์และบางอย่างอาจไม่ ฉันต้องมีขั้นตอนการจัดเก็บที่ขาดหายไปเพิ่มไว้ในฐานข้อมูลลูกค้า แต่ไม่สำคัญว่าฉันพยายามงอไวยากรณ์ T-SQL มากแค่ไหน
CREATE / ALTER PROCEDURE 'ต้องเป็นคำสั่งแรกในชุดการสืบค้น
ฉันได้อ่านสิ่งนั้นก่อนที่จะสร้างผลงาน แต่ฉันไม่ชอบที่จะทำแบบนั้น
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
ฉันจะเพิ่มการตรวจสอบการมีอยู่ของกระบวนงานที่เก็บไว้และสร้างมันได้อย่างไรถ้ามันไม่มีอยู่ แต่จะแก้ไขหากมีอยู่?