我正在測驗一個在 mssql 中有大量存盤程序的場景。有沒有辦法撰寫創建?5000個存盤程序的腳本?我的嘗試都是徒勞的。
declare @id int
select @id = 1
while @id >=1 and @id <= 1000
begin
CREATE PROCEDURE 'SelectAllCustomer' convert(varchar(5)) AS SELECT * FROM Customers
select @id = @id 1
end
go
失敗:
訊息 156,級別 15,狀態 1,第 7 行關鍵字“PROCEDURE”附近的語法不正確。
即使只是在程序名稱中添加一個引數也會失敗:
CREATE PROCEDURE 'SelectAllCustomer' 'test' AS SELECT * FROM Customers
失敗:
訊息 102,級別 15,狀態 1,第 1 行“SelectAllCustomer”附近的語法不正確。
uj5u.com熱心網友回復:
干得好。很直接。
declare @id int = 1
, @sql NVARCHAR(MAX)
while @id >=1 and @id <= 1000
begin
select @sql = 'CREATE PROCEDURE SelectAllCustomer' convert(varchar(5), @id) ' AS SELECT * FROM Customers;'
exec sp_executesql @sql
select @id = @id 1
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/421779.html
標籤:
上一篇:如何根據變數復制值
