システムの重大な問題を解決するために、T-SQL でスクリプトを作成しようとしています。残念ながら、私はこれまでにこれをやったことがないので、未知の海に入っています.
私は実際に、この SQL を生成するための PHP スクリプトを作成しています。ユーザーが存在する場合は、作成します。ただし、どちらの場合も、ユーザーをグループに追加してください。
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', 'aa00043@user.com', '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」を宣言する必要があります。
メッセージ 156、レベル 15、状態 1、行 3
キーワード「SELECT」付近の構文が正しくありません。
メッセージ 156、レベル 15、状態 1、行 5
キーワード「INSERT」付近の構文が正しくありません。
メッセージ 137、レベル 15、状態 2、行 5
スカラー変数「@userId」を宣言する必要があります。
スカラー値をグーグルで調べましたが、クエリが複数の行を返すときに発生する可能性がありますが、そうでないことを確認しました。