GRANT

4D - Documentation   Fran溝is   English   German   日本語   4D SQL Reference目次   4D SQL Referenceインデックス   Back   Previous   Next

version 11.3


GRANT[READ | READ_WRITE | ALL] ON sql_name TO sql_name

説明

GRANT コマンドはsql_name スキーマに割り当てるアクセス権を設定するために使用します。これらのアクセス権は、二番目のsql_name 引数で指定する4Dユーザグループに割り当てられます。

READREAD_WRITEそしてALL キーワードを使用して、テーブルに許可されるアクセス権を指定します:

READ は読み込みのみアクセスを設定します (データ)

READ_WRITE は読み書きアクセスを設定します (データ)

ALL はフルアクセスモードを設定します (データとストラクチャ)

アクセスコントロールは外部接続にのみ適用されます。Begin SQL/End SQLタグやSQL EXECUTEなどのコマンドで4D内で実行されるSQLコードは依然としてフルアクセスを持っています。

互換性に関するメモ: 以前のバージョンのデータベースをバージョン11.3以降に変換する際、(アプリケーション環境設定のSQLページで設定された) グローバルアクセス権がデフォルトスキーマに転送されます。

二番目の sql_name 引数には、スキーマにアクセス権を割り当てたい4Dユーザグループ名を指定しなければなりません。このグループは4Dデータベースに存在していなければなりません。

Note: 4Dはグループ名にスペースやアクセント文字を許可しますが、これはSQL標準で許可されていません。この場合、グループ名を [ と ] の間に記述します。例えば: GRANT READ ON [schema] TO [admins!]

データベースのDesignerとAdministratorのみがスキーマを変更できます。

参照整合性に関するメモ

4D はアクセス権とは独立して、参照整合性に関する原則を適用します。例えば2つのテーブルTable1とTable2があり、N対1のリレーション (Table2 -> Table1) で接続されているとします。 Table1はスキーマS1に属し、Table2はスキーマS2に属します。スキーマS1へのアクセス権を持つが、S2へのアクセス権を持たないユーザは、Table1のレコードを削除できます。この場合、参照整合性の原則を適用するため、Table1の削除されたレコードにリレートするTable2のレコードも削除されます。

例題

"Power_Users" グループに、MySchema1のデータへの読み書きアクセスを許可します:

GRANT READ_WRITE ON MySchema1 TO POWER_USERS

参照

ALTER SCHEMA, CREATE SCHEMA, REVOKE.


4D - Documentation   Fran溝is   English   German   日本語   4D SQL Reference目次   4D SQL Referenceインデックス   Back   Previous   Next