みなさま、ど素人です。
かなりつぼにはまってしまいました。
ALTER PROCEDURE [dbo].[CreateUserProc] @userid varchar(50)AS BEGIN CREATE LOGIN @userid FROM WINDOWS; END go
のどこがわるいでしょうか?
@userid の付近に不適切な構文があるとでます。
そのやり方ではできないですね。
varchar の変数に CREATE LOGIN ステートメントを格納して、exec のパラメータに渡してやればできると思います。
具体的なやり方は master.sys.sp_addlogin の定義などを参考にするとよいと思います。
Windows ドメイン アカウントから作成する場合は、[]で囲む必要があります。
CREATE LOGIN [@userid] FROM WINDOWS;
CREATE LOGIN (Transact-SQL)
http://msdn2.microsoft.com/ja-jp/library/ms189751.aspx
??
すみません。作成されたストアドを実行するとエラーになりますね。'@userid' は有効な Windows NT 名ではありません。完全な名前 <domain\username> を指定してください。
すみませんが、パラメータで指定することが可能かどうかはわかりません。
できないのでしょうか?
ありがとうございます。
なんとかできました。