SQL Engine Reference (v11)

SET PASSWORD

SET PASSWORD ステートメントは、セキュリティで保護されたデータベースに対して次の機能を提供します。

構文

SET PASSWORD [FOR 'ユーザー名'] = パスワード 
 
ユーザー名 ::= データベースにログオンしているか、またはデータベー
スへのログオンを許可されているユーザーの名前 
 
パスワード ::= パスワード文字列 

備考

SET PASSWORD は、データベースでリレーショナル セキュリティが有効になっていることを必要とし、いつ発行してもかまいません(対照的に、SET SECURITY は、Master ユーザーのセッションが現在の唯一のデータベース接続である場合のみ発行できます。SET SECURITY を参照してください)。

SET PASSWORD は、Master ユーザーでも Master 以外の通常のユーザーでも発行できます。Master ユーザーは、データベースへのログオンを許可されているすべてのユーザーのパスワードを変更できます。通常のユーザーは自身のパスワードしか変更できません。変更されたパスワードは、ユーザーが次回データベースにログオンしたときに有効になります。

SET PASSWORD ステートメントを発行するユーザー
FOR 句付き
FOR 句なし
Master
Master は、"Master" またはデータベースへのログオンを許可されているすべてのユーザーのユーザー名を指定できます。1
ユーザー名のパスワードが変更されます。
データベース全体のパスワードが変更されます(つまり、データベース全体に影響を与える、Master ユーザーのパスワードが変更されます)。
通常
通常のユーザーは、自身のユーザー名を指定できます。ユーザーはデータベースにログオンしている必要があります。
当該ユーザーのパスワードのみ変更されます。
SET PASSWORD ステートメントを発行したユーザーのパスワードのみが変更されます。ユーザーはデータベースにログオンしている必要があります。
1 ユーザー名は、Pervasive PSQL データベースにログオン可能なユーザーを参照します。これは、オペレーティング システム レベルでユーザーに割り当てられている名前とは異なる場合があります。たとえば、オペレーティング システムにログオンできるユーザーは "Yogine" であるとします。データベース DEMODATA のセキュリティを有効にし、"Yogine" を "DeptMgr" というユーザー名で DEMODATA に追加します。この人物が DEMODATA にログオンする場合に要求されるユーザー名は、"DeptMgr" です。

パスワードの特性

次の例では以下のことを示します。Master ユーザーは、パスワード "bluesky" を使ってデータベースのセキュリティを有効にします。次に、Master ユーザーは "user45" というユーザーにログオン権限を与えてパスワードを "tmppword" と指定し、user45 にテーブル person の SELECT 権限を与えます。その後で、Master ユーザーは Master のセキュリティ パスワードを "reddawn" に変更し、user45 のパスワードを "newuser" に変更します。

SET SECURITY = bluesky 
	-- これにより、データベースのセキュリティが有効になります 
GRANT LOGIN TO user45:tmppword 
GRANT SELECT ON person TO user45 
SET PASSWORD = reddawn 
	-- Master のパスワード、つまり、データベース全体のパスワードを変更します 
SET PASSWORD FOR user45 = newuser 

次の例では、user45 はパスワード "newuser" でデータベースにログオンしていることを前提とします。user45 は自分のパスワードを "tomato" に変更し、次に person テーブル内のすべてのレコードを選択します。

SET PASSWORD FOR user45 = tomato 
	-- これは、user45 のパスワードのみを変更します 
SELECT * FROM person 
	-- user45 は今までどおり、テーブル person の SELECT 権限を持ちます 

関連項目

ALTER USER

CREATE USER

GRANT

SET SECURITY


SET OWNER

SET PROCEDURES_CACHE