Tôi có một tập lệnh SQL phải được chạy mỗi khi máy khách thực thi chức năng "quản lý cơ sở dữ liệu". Kịch bản bao gồm tạo các thủ tục được lưu trữ trên cơ sở dữ liệu khách hàng. Một số khách hàng này có thể đã có quy trình được lưu trữ khi chạy tập lệnh và một số thì không. Tôi cần phải có các thủ tục lưu trữ bị thiếu được thêm vào cơ sở dữ liệu máy khách, nhưng tôi không cố gắng uốn cong cú pháp T-SQL bao nhiêu, tôi nhận được
QUY TRÌNH TẠO / THAY ĐỔI 'phải là câu lệnh đầu tiên trong một đợt truy vấn
Tôi đã đọc được điều đó trước khi tạo ra các tác phẩm, nhưng tôi không thích làm theo cách đó.
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
Làm cách nào tôi có thể thêm kiểm tra sự tồn tại của một thủ tục được lưu trữ và tạo nó nếu nó không tồn tại nhưng thay đổi nó nếu nó tồn tại?