- 締切済み
パスワードをsqlスクリプトで変更する
agusupです。 SQLServerパスワードをsqlスクリプトで変更する方法を教えてください。 :::::::::::::::::::::::::以下sqlスクリプトで記述します。 USE [common] GO /****** 変数の宣言 ******/ declare @PASSWORD as char(25) /****** テーブルのパスワードを変数に取込む ******/ SELECT @PASSWORD = [password] FROM [common].[dbo].[users_pass] where [ID] = 'testuser' /****** testuserのパスワードを変数@PASSWORDに変更する ******/ ALTER LOGIN [testuser] WITH password = @PASSWORD GO 以上。 この内容でユーザのパスワードを変更できると思ったのですが、 ALTER LOGINを実行すると'@PASSWORD' 付近に不適切な構文があります。というエラーメッセージが発生します。 因みに以下の内容を実行すると正常終了します。 USE [master] GO ALTER LOGIN [testuser] WITH password = 'mylogin' GO これらのことからpassword = 変数@PASSWORDをどのようにしたら実行できるのか教授願います。 宜しくお願いします
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Siegrune
- ベストアンサー率35% (316/895)
SQL Serverでは、確かDDLに変数は使えなかったと思うけど。 試してみるなら USE [master] GO declare @PASSWORD as char(25) set @PASSWORD = 'mylogin' ALTER LOGIN [testuser] WITH password = @PASSWORD GO で確かめるべきと思います。 で、やりたいことを実行するなら ALTER LOGIN [testuser] WITH password = @PASSWORD を execute('ALTER LOGIN [testuser] WITH password = ''' + @PASSWORD + '''') にすれば動くはずです。