0
尝试使用另一个存储过程创建新的存储过程。使用存储过程创建存储过程
CREATE PROCEDURE [dbo].[CreateNewDB]
@dbName nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
EXEC('CREATE DATABASE '[email protected])
EXEC('USE '[email protected]+ ' CREATE PROCEDURE [dbo].[usp_GetUser]
@id varchar(50)
AS
BEGIN
<<Stored Procedure Logic>>
END')
END
当我尝试调用上面的存储过程如下
DECLARE @return_value int
EXEC @return_value = [dbo].[CreateNewDB]
@dbName = N'MyUserDatabase'
SELECT 'Return Value' = @return_value
它创建数据库而不是存储过程。
它会引发以下错误。
Msg 111, Level 15, State 1, Procedure usp_GetUser, Line 6
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
仅供参考,当你有一群人想帮助你,你当我们输入冗长的评论来帮助你从我们下抽出的问题,它不鼓励我们,帮助您在未来。我们浪费了我们的时间。 – Amy
我从蝙蝠身上得到两票表决权。 WTF?我正在尝试学习。我期待了很长时间,一条评论帮助了我,所以谢谢。我很抱歉,但显然这是一个愚蠢的问题,至少有两个人一定要打我的观点。显然我浪费了我自己的时间,我不应该再问任何问题了。 –