| Name | Type | Nullable | Default value | Comment |
|---|---|---|---|---|
| BOOKMARK_ID | NUMBER(38) | N | ||
| PARENT_SORT_KEY | VARCHAR2(99.0) | Y | ||
| LOCAL_SORT_KEY | CHAR(3.0) | N | ||
| OWNER_ID | NUMBER(38) | N | ||
| CREATION_DATE | DATE | N | ||
| MODIFICATION_DATE | DATE | Y | ||
| URL_ID | NUMBER(38) | Y | ||
| LOCAL_TITLE | VARCHAR2(500.0) | Y | ||
| PRIVATE_P | CHAR(1.0) | Y | 'f' | |
| HIDDEN_P | CHAR(1.0) | Y | 'f' | |
| FOLDER_P | CHAR(1.0) | Y | 'f' | |
| PARENT_ID | NUMBER(38) | Y | ||
| CLOSED_P | CHAR(1.0) | Y | 't' | |
| IN_CLOSED_P | CHAR(1.0) | Y | 'f' |
| Constraint Name | Columns |
|---|---|
| SYS_C002087868 | BOOKMARK_ID |
| Constraint Name | Check Condition |
|---|---|
| SYS_C002087860 | "LOCAL_SORT_KEY" IS NOT NULL |
| SYS_C002087861 | "OWNER_ID" IS NOT NULL |
| SYS_C002087862 | "CREATION_DATE" IS NOT NULL |
| SYS_C002087863 | private_p in ('t','f') |
| SYS_C002087864 | hidden_p in ('t','f') |
| SYS_C002087865 | folder_p in ('t','f') |
| SYS_C002087866 | closed_p in ('t','f') |
| SYS_C002087867 | in_closed_p in ('t','f') |
| Constraint Name | Columns | Referenced table | Referenced Constraint | On Delete Rule |
|---|---|---|---|---|
| SYS_C002087869 | OWNER_ID | USERS | SYS_C002087135 | NO ACTION |
| SYS_C002087870 | URL_ID | BM_URLS | SYS_C002087859 | NO ACTION |
| SYS_C002087871 | PARENT_ID | BM_LIST | SYS_C002087868 | NO ACTION |
| Option | Settings |
|---|---|
| Index Organized | No |
| Generated by Oracle | No |
| Clustered | No |
| Nested | No |
| Temporary | No |
| Index Name | Type | Unuqueness | Columns |
|---|---|---|---|
| BM_LIST_IDX1 | NORMAL | NONUNIQUE | BOOKMARK_ID , PARENT_ID |
| BM_LIST_IDX2 | NORMAL | NONUNIQUE | PARENT_ID , BOOKMARK_ID |
| SYS_C002087868 | NORMAL | UNIQUE | BOOKMARK_ID |
| Table | Constraint |
|---|---|
| BM_LIST | SYS_C002087871 |
| Name: BM_LIST_AFTER_U_TR |
|---|
CREATE TRIGGER bm_list_after_u_tr
after UPDATE OF parent_id ON bm_list
REFERENCING NEW AS NEW OLD AS OLD
DECLARE
v_bookmark_id bm_list.bookmark_id%TYPE;
v_row bm_list%ROWTYPE;
v_last_sort_key bm_list.local_sort_key%TYPE;
v_parent_sort_key bm_list.parent_sort_key%TYPE;
v_count INTEGER;
BEGIN
FOR v_loop_index IN 1 .. bm_list_pkg.v_num_entries LOOP
-- Fix up local_sort_key and parent_sort_key.
v_bookmark_id := bm_list_pkg.v_updated_ids(v_loop_index);
bm_fixup_sort_key(v_bookmark_id);
END LOOP;
bm_list_pkg.v_num_entries := 0;
END bm_list_after_u_tr;
|
| Name: BM_LIST_SORT_KEY_I_TR |
|---|
CREATE TRIGGER bm_list_sort_key_i_tr before INSERT ON bm_list
FOR each row
REFERENCING NEW AS NEW OLD AS OLD
DECLARE
v_last_sort_key bm_list.local_sort_key%TYPE;
v_parent_sort_key bm_list.parent_sort_key%TYPE;
BEGIN
IF :NEW.parent_id IS NULL THEN
SELECT max(local_sort_key) INTO v_last_sort_key
FROM bm_list
WHERE parent_id IS NULL;
v_parent_sort_key := null;
ELSE
SELECT max(local_sort_key) INTO v_last_sort_key
FROM bm_list
WHERE parent_id = :NEW.parent_id;
SELECT parent_sort_key || local_sort_key INTO v_parent_sort_key
FROM bm_list WHERE bookmark_id = :NEW.parent_id;
END IF;
:NEW.local_sort_key := new_sort_key(v_last_sort_key);
:NEW.parent_sort_key := v_parent_sort_key;
END;
|
| Name: BM_LIST_SORT_KEY_ROW_U_TR |
|---|
CREATE TRIGGER bm_list_sort_key_row_u_tr before UPDATE OF parent_id ON bm_list FOR each row REFERENCING NEW AS NEW OLD AS OLD BEGIN bm_list_pkg.v_num_entries := bm_list_pkg.v_num_entries + 1; bm_list_pkg.v_updated_ids(bm_list_pkg.v_num_entries) := :NEW.bookmark_id; END bm_list_sort_key_u_tr; |