| Name | Type | Nullable | Default value | Comment |
|---|---|---|---|---|
| PERMISSION_ID | NUMBER(38) | N | ||
| ON_WHAT_ID | NUMBER(38) | N | ||
| ON_WHICH_TABLE | VARCHAR2(30.0) | N | ||
| SCOPE | VARCHAR2(20.0) | Y | ||
| USER_ID | NUMBER(38) | Y | ||
| GROUP_ID | NUMBER(38) | Y | ||
| ROLE | VARCHAR2(200.0) | Y | ||
| PERMISSION_TYPE | VARCHAR2(20.0) | N |
| Constraint Name | Columns |
|---|---|
| SYS_C002087438 | PERMISSION_ID |
| Constraint Name | Check Condition |
|---|---|
| SYS_C002087433 | "PERMISSION_ID" IS NOT NULL |
| SYS_C002087434 | "ON_WHAT_ID" IS NOT NULL |
| SYS_C002087435 | "ON_WHICH_TABLE" IS NOT NULL |
| SYS_C002087436 | "PERMISSION_TYPE" IS NOT NULL |
| SYS_C002087437 | (scope = 'user' and user_id is not null and group_id is null and role is null) or (scope = 'group_role' and user_id is null and group_id is not null and role is not null) or (scope = 'group' and user_id is null and group_id is not null and role is null) or (scope in ('registered_users', 'all_users') and user_id is null and group_id is null and role is null) |
| Constraint Name | Columns | Referenced table | Referenced Constraint | On Delete Rule |
|---|---|---|---|---|
| SYS_C002087440 | USER_ID | USERS | SYS_C002087135 | NO ACTION |
| SYS_C002087441 | GROUP_ID | USER_GROUPS | SYS_C002087305 | NO ACTION |
| Constraint name | Columns |
|---|---|
| SYS_C002087439 | ON_WHAT_ID , ON_WHICH_TABLE , SCOPE , USER_ID , GROUP_ID , ROLE , PERMISSION_TYPE |
| Option | Settings |
|---|---|
| Index Organized | No |
| Generated by Oracle | No |
| Clustered | No |
| Nested | No |
| Temporary | No |
| Index Name | Type | Unuqueness | Columns |
|---|---|---|---|
| SYS_C002087438 | NORMAL | UNIQUE | PERMISSION_ID |
| SYS_C002087439 | NORMAL | UNIQUE | ON_WHAT_ID , ON_WHICH_TABLE , SCOPE , USER_ID , GROUP_ID , ROLE , PERMISSION_TYPE |
| Name: GP_ON_WHICH_TABLE_TR |
|---|
CREATE TRIGGER gp_on_which_table_tr before insert or update on general_permissions for each row REFERENCING NEW AS NEW OLD AS OLD begin :new.on_which_table := lower(:new.on_which_table); end gp_on_which_table_tr; |
| Name: GP_PERMISSION_TYPE_TR |
|---|
CREATE TRIGGER gp_permission_type_tr before insert or update on general_permissions for each row REFERENCING NEW AS NEW OLD AS OLD begin :new.permission_type := lower(:new.permission_type); end gp_permission_type_tr; |