创建多个存储过程的脚本

Script to create multiple stored procedures

我正在测试一个在 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

失败:

Msg 156, Level 15, State 1, Line 7 Incorrect syntax near the keyword 'PROCEDURE'.

即使只是向过程名称添加参数也是失败的:

CREATE PROCEDURE 'SelectAllCustomer'+ 'test' AS SELECT * FROM Customers

失败:

Msg 102, Level 15, State 1, Line 1 Incorrect syntax near 'SelectAllCustomer'.

给你。非常直接。

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