| Name | Type | Nullable | Default value | Comment |
|---|---|---|---|---|
| PORTRAIT_ID | NUMBER(38) | N | ||
| ON_WHICH_TABLE | VARCHAR2(50.0) | N | ||
| ON_WHAT_ID | NUMBER(38) | N | ||
| UPLOAD_USER_ID | NUMBER(38) | N | ||
| PORTRAIT | BLOB | Y | ||
| PORTRAIT_UPLOAD_DATE | DATE | Y | sysdate | |
| PORTRAIT_COMMENT | VARCHAR2(4000.0) | Y | ||
| PORTRAIT_CLIENT_FILE_NAME | VARCHAR2(500.0) | Y | ||
| PORTRAIT_FILE_TYPE | VARCHAR2(100.0) | Y | ||
| PORTRAIT_FILE_EXTENSION | VARCHAR2(50.0) | Y | ||
| PORTRAIT_ORIGINAL_WIDTH | NUMBER(38) | Y | ||
| PORTRAIT_ORIGINAL_HEIGHT | NUMBER(38) | Y | ||
| PORTRAIT_THUMBNAIL | BLOB | Y | ||
| PORTRAIT_THUMBNAIL_WIDTH | NUMBER(38) | Y | ||
| PORTRAIT_THUMBNAIL_HEIGHT | NUMBER(38) | Y | ||
| PORTRAIT_PRIMARY_P | CHAR(1.0) | N | ||
| APPROVED_P | CHAR(1.0) | Y | 't' |
| Constraint Name | Columns |
|---|---|
| GP_PORTRAIT_ID_PK | PORTRAIT_ID |
| Constraint Name | Check Condition |
|---|---|
| GP_APPROVED_P_CK | approved_p in ('t', 'f') |
| GP_PORTRAIT_PRIMARY_P_CK | portrait_primary_p in ('t', 'f') |
| SYS_C002087916 | "ON_WHICH_TABLE" IS NOT NULL |
| SYS_C002087917 | "ON_WHAT_ID" IS NOT NULL |
| SYS_C002087918 | "UPLOAD_USER_ID" IS NOT NULL |
| SYS_C002087919 | "PORTRAIT_PRIMARY_P" IS NOT NULL |
| Constraint Name | Columns | Referenced table | Referenced Constraint | On Delete Rule |
|---|---|---|---|---|
| GP_UPOAD_USER_ID_FK | UPLOAD_USER_ID | USERS | SYS_C002087135 | NO ACTION |
| Option | Settings |
|---|---|
| Index Organized | No |
| Generated by Oracle | No |
| Clustered | No |
| Nested | No |
| Temporary | No |
| Index Name | Type | Unuqueness | Columns |
|---|---|---|---|
| GP_PORTRAIT_ID_PK | NORMAL | UNIQUE | PORTRAIT_ID |
| SYS_IL0001976786C00005$$ | LOB | UNIQUE | |
| SYS_IL0001976786C00013$$ | LOB | UNIQUE |
| Name: GP_PORTRAIT_PRIMARY_TR |
|---|
CREATE TRIGGER gp_portrait_primary_tr
BEFORE insert on general_portraits
FOR EACH ROW
REFERENCING NEW AS NEW OLD AS OLD
When new.portrait_primary_p = 't'
DECLARE
v_count_primary number;
pragma autonomous_transaction;
BEGIN
SELECT count(gp.portrait_id) INTO v_count_primary
FROM general_portraits gp
WHERE gp.on_what_id = :new.on_what_id
AND gp.on_which_table = :new.on_which_table
AND gp.portrait_primary_p = 't';
IF v_count_primary >= 1 THEN
RAISE_APPLICATION_ERROR (-20000, 'Multiple primary portrait');
END IF;
END;
|