我試圖在T-SQL中編寫腳本來解決我們系統上的關鍵問題。不幸的是,我從來沒有這樣做過,所以我進入了未知的水域。SQL Server腳本語法錯誤和「必須聲明標量值」
我實際上正在編寫一個PHP腳本來生成這個SQL。如果用戶存在,創建它。但在這兩種情況下,都要將用戶添加到組中。
DECLARE @userId AS int
/* --------------- 123l123123fvsdf - Name --------------- */
BEGIN
IF EXISTS(SELECT id FROM [CMT_UAT].[dbo].[user] WHERE username = '123l123123fvsdf')
INSERT INTO [CMT_UAT].[dbo].[user](username, password, email, firstname, lastname, created) VALUES('123l123123fvsdf', 'PASSWORD', '[email protected]', 'firstName', 'lastName', GETDATE())
GO
SET @userId = @@IDENTITY
ELSE
SET @userId = SELECT id FROM [CMT_UAT].[dbo].[user] WHERE username = 'AA00043'
END
INSERT INTO [CMT_UAT].[dbo].[user_group](user_id, group_id) VALUES(@userId, '7')
我得到這些錯誤:
消息102,級別15,狀態1,行7
附近有語法錯誤)「。
消息137,級別15,狀態1,行1
必須聲明標量變量「@userId」。
Msg 156,Level 15,State 1,Line 3
關鍵字'SELECT'附近的語法不正確。
Msg 156,Level 15,State 1,Line 5
關鍵字'INSERT'附近的語法不正確。
Msg 137,Level 15,State 2,Line 5
必須聲明標量變量「@userId」。
我已經做了一些關於標量值的搜索,它可以發生在我的查詢返回多行時,我已經驗證它沒有。
良好的通話,這有幫助。它仍然不喜歡'SELECT'附近的語法 – Webnet
明白了,需要在括號內 – Webnet