0

I am testing a scenario with a high number of stored procedures in mssql. Is there a way to script creating ~5000 stored procedures? My attempts have been futile.

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

Fails with:

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

Even just adding a parameter to the procedure name is failing:

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

fails with:

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

6
  • 2
    Why are you creating a pile of stored procedures that all do the same thing? That makes no sense. But if you really feel you need to do this you would have to use dynamic sql to generate them. Commented Jan 26, 2022 at 19:58
  • Strictly a test scenario. Just need a large number of stored procedures. Commented Jan 26, 2022 at 20:04
  • What are you testing where you need 1000 procedures? Commented Jan 26, 2022 at 20:04
  • A customer hit a problem and they have 3500 procedures. Just need to recreate their environment. Commented Jan 26, 2022 at 20:06
  • Gotcha. Kind of odd but sometimes you have to do some odd things for support. ;) As I said previously you would have to use dynamic sql for this. Commented Jan 26, 2022 at 20:06

1 Answer 1

1

Here you go. Pretty straight forward.

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
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.