ALTER USER

ALTER USER はデータベースのユーザ定義を変更する SQL 文である。DML であるため、ロールバックすることはできない。

Oracle

Oracle Database における ALTER USER 文の構文を以下に示す。

ALTER USER name [IDENTIFIED BY password]
  [DEFAULT TABLESPACE tablespace]
  [TEMPORARY TABLESPACE tablespace]
  [QUOTA limit ON tablespace]
name
変更するユーザの名前を指定する。
IDENTIFIED BY password
ユーザのパスワードを指定する。パスワードを引用符で囲む必要はない。

ユーザのパスワードを変更する。

SQL> ALTER USER tsuka IDENTIFIED BY mellon;
DEFAULT TABLESPACE tablespace
ユーザのデフォルト表領域を指定する。
SQL> ALTER USER tsuka DEFAULT TABLESPACE users;
TEMPORARY TABLESPACE tablespace
ユーザの一時表領域を指定する。
SQL> ALTER USER tsuka TEMPORARY TABLESPACE temp;
QUOTA limit ON tablespace
クォータを設定する。クォータを設定すると、ユーザが使用できる表領域の上限値を指定することができる。

limit にはクォータの上限値を数値又は UNLIMITED で指定する。数値で指定する場合は、K(キロ)、M(メガ)、G(ギガ)、T(テラ)、P(ペタ)又はE(エクサ)などの単位を使用することもできる。UNLIMITEDを指定した場合は、上限が無制限となる。

tablespace にはクォータのサイズを指定する表領域を指定する。

「ORA-01950: 表領域'USERS'に対する権限がありません」の対処として、表領域'USERS'に対してクオータを設定する例を示す。

SQL> ALTER USER tsuka QUOTA 10M ON USERS;

または

SQL> ALTER USER tsuka QUOTA UNLIMITED ON USERS;

MySQL

MySQL アカウントを変更する。 既存のアカウントの認証、ロール、SSL/TLS、リソース制限およびパスワード管理プロパティを変更できる。 また、アカウントのロックおよびロック解除にも使用できる。

ALTER USER [IF EXISTS]
    user [auth_option] [, user [auth_option]] ...
    [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
    [WITH resource_option [resource_option] ...]
    [password_option | lock_option] ...
    [COMMENT 'comment_string' | ATTRIBUTE 'json_object']

PostgreSQL

データベースユーザアカウントを変更する。

ALTER USER username [ [ WITH ] option [ ... ] ]

関連SQL