次の権限を与えることができます。
GRANT文を発行する前に、
ユーザに権限付与が認められている情報であれば、その情報への権限をユーザは与えることができます。 詳細については、権限を与えようとしている情報に対応したCREATE文の説明文を読んでください。
GRANT文の書き方は、表に対する権限付与なのか、それともプログラムルーチンに対する権限付与なのかにより、その構文が異なります。
ALL PRIVILEGES権限により指定した表へのすべての権限をユーザに付与します。権限の並びを指定して、表への一つ以上の権限を付与することも可能です。
DELETE権限により指定した表から行を削除する権限を付与します。
INSERT権限により指定した表に行を挿入する権限を付与します。
REFERENCES権限により指定した表への外部キー参照を作成する権限を付与します。REFERENCESに合わせて列並びが指定された場合、指定した列への外部キー参照だけが許可されます。
SELECT権限により表あるいはビューでSELECT文を行う権限が付与されます。もしSELECT権限で列の並びが指定された場合、それらの列にのみ権限は有効です。列の並びが指定されなかった場合、表の全列について権限は有効です。
TRIGGER権限により指定した表にトリガを作成する権限が付与されます。
UPDATE権限により指定した表にUPDATE文を使う権限が付与されます。列の並びが指定された場合、権限は指定された列にのみ有効です。WHERE節のある文で行を更新する場合、更新する行にある列へのSELECT権限も必要です。
特定のユーザまたは全ユーザに権限を与えることができます。
PUBLIC というキーワードは全ユーザをあらわします。PUBLICが与えられた場合、現存するユーザのみならず、以降に作成されたユーザにも権限が与えられます。
PUBLICに与えられた権限と、個々のユーザに与えられた権限は、独立しています。
例えば、
tという表へのSELECT権限を
tという表へのUPDATEとTRIGGER権限を、
s.vという表へのSELECT権限を全てのユーザに与えるには、次のように書きます。
pという手続きの実行権限を、