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?我正在嘗試學習。我期待了很長時間,一條評論幫助了我,所以謝謝。我很抱歉,但顯然這是一個愚蠢的問題,至少有兩個人一定要打我的觀點。顯然我浪費了我自己的時間,我不應該再問任何問題了。 –