SQL serevr 2012 にユーザーのテーブルがあり、ユーザー テーブルの挿入トリガーから挿入された値を使用して、対応するデータベース ログイン ユーザーを作成したいと考えています。
値をテストして存在することを確認しましたが、挿入されたテーブルで参照された値を適切に使用できないことを除いて、すべてが正常に機能しているようです
ログイン作成手順が変数を受け入れられない可能性はありますか
ALTER TRIGGER [dbo].[addsyslogin]
ON [dbo].[Users]
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
SET QUOTED_IDENTIFIER OFF;
Declare @u varchar(10);
SELECT @u=i.userid from inserted i;
print @u;
CREATE LOGIN [@u] WITH PASSWORD='water123GH', DEFAULT_DATABASE=[waterdb], DEFAULT_LANGUAGE=[British], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
END
quoted_identifiers について調査しましたが、まだこの問題があります。
実際には、@u の値の代わりに userid=@u を使用してデータベース ユーザーが作成されます。
メモとフィードバックをありがとう