Bạn luôn có thể sao chép đầu ra từ ngăn dưới cùng, dán nó vào ngăn trên cùng và nhấn F5. Hoặc bạn có thể tạo một chuỗi để thực thi trực tiếp:
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'
ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) +
' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
FROM sys.foreign_keys;
PRINT @sql;
-- EXEC sp_executesql @sql;
(Khi bạn hài lòng với PRINT
xuất ra, nhận xét nó ra và bỏ ghi chú EXEC
. Lưu ý rằng đầu ra in sẽ bị cắt ngắn thành 8K trong Management Studio nhưng biến thực sự giữ toàn bộ lệnh.)
Ngoài ra, tôi không biết điều này thực sự liên quan như thế nào đến việc bạn có đang sử dụng một thủ tục được lưu trữ hay không, hoặc tại sao bạn đang cố gắng thực hiện nó "w / o going for SP" ... truy vấn này có thể được chạy dưới dạng một thủ tục được lưu trữ hoặc không, tất cả phụ thuộc vào tần suất bạn sẽ gọi nó, nơi thực hiện thủ tục, v.v.