1+ /*
2+ * JsTree 추적 로그 테이블
3+ * 트리거 Log를 저장합니다.
4+ */
5+ CREATE TABLE T_JSTREE_AGGREGATE_RESULT_LOG
6+ (
7+ C_ID NUMBER NOT NULL ,
8+ C_PARENTID NUMBER NOT NULL ,
9+ C_POSITION NUMBER NOT NULL ,
10+ C_LEFT NUMBER NOT NULL ,
11+ C_RIGHT NUMBER NOT NULL ,
12+ C_LEVEL NUMBER NOT NULL ,
13+ C_TITLE VARCHAR2 (4000 BYTE),
14+ C_TYPE VARCHAR2 (4000 BYTE),
15+ C_METHOD VARCHAR2 (4000 BYTE),
16+ C_STATE VARCHAR2 (4000 BYTE),
17+ C_DATE DATE NOT NULL
18+ );
19+
20+ COMMENT ON TABLE T_JSTREE_AGGREGATE_RESULT_LOG IS ' 기본 트리 스키마 트리거 로그' ;
21+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_ID IS ' 노드 아이디' ;
22+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_PARENTID IS ' 부모 노드 아이디' ;
23+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_POSITION IS ' 노드 포지션' ;
24+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_LEFT IS ' 노드 좌측 끝 포인트' ;
25+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_RIGHT IS ' 노드 우측 끝 포인트' ;
26+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_LEVEL IS ' 노드 DEPTH ' ;
27+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_TITLE IS ' 노드 명' ;
28+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_TYPE IS ' 노드 타입' ;
29+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_METHOD IS ' 노드 변경 행위' ;
30+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_STATE IS ' 노드 상태값 ( 이전인지. 이후인지)' ;
31+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT_LOG.C_DATE IS ' 노드 변경 시' ;
32+
33+ /*
34+ * JsTree
35+ */
36+ CREATE TABLE T_JSTREE_AGGREGATE_RESULT
37+ (
38+ C_ID NUMBER NOT NULL ,
39+ C_PARENTID NUMBER NOT NULL ,
40+ C_POSITION NUMBER NOT NULL ,
41+ C_LEFT NUMBER NOT NULL ,
42+ C_RIGHT NUMBER NOT NULL ,
43+ C_LEVEL NUMBER NOT NULL ,
44+ C_TITLE VARCHAR2 (4000 BYTE),
45+ C_TYPE VARCHAR2 (4000 BYTE),
46+
47+ CAL_TIME VARCHAR2 (4000 BYTE),
48+
49+ TOP_NAME VARCHAR2 (4000 BYTE),
50+ TOP_NUMBER_OF_ADVANTAGES NUMBER ,
51+ TOP_LIKE_COUNT NUMBER ,
52+ TOP_TOTAL_REGISTERED_POSTS NUMBER ,
53+ TOP_REGISTERED_HASH_TAG NUMBER ,
54+ TOP_GRAPH_PERCENT NUMBER ,
55+ TOP_VERSUS_SCORE NUMBER ,
56+
57+ MID_NAME VARCHAR2 (4000 BYTE),
58+ MID_NUMBER_OF_ADVANTAGES NUMBER ,
59+ MID_LIKE_COUNT NUMBER ,
60+ MID_TOTAL_REGISTERED_POSTS NUMBER ,
61+ MID_REGISTERED_HASH_TAG NUMBER ,
62+ MID_GRAPH_PERCENT NUMBER ,
63+ MID_VERSUS_SCORE NUMBER ,
64+
65+ BOT_NAME VARCHAR2 (4000 BYTE),
66+ BOT_NUMBER_OF_ADVANTAGES NUMBER ,
67+ BOT_LIKE_COUNT NUMBER ,
68+ BOT_TOTAL_REGISTERED_POSTS NUMBER ,
69+ BOT_REGISTERED_HASH_TAG NUMBER ,
70+ BOT_GRAPH_PERCENT NUMBER ,
71+ BOT_VERSUS_SCORE NUMBER ,
72+
73+ TOTAL_TRAFFIC NUMBER ,
74+ UNIQUE_VISIT NUMBER ,
75+ REVISIT_COUNT NUMBER ,
76+ PAGE_VIEW NUMBER ,
77+
78+ TOTAL_ARTICLE NUMBER ,
79+ TOTAL_LIKE_COUNT NUMBER ,
80+ TOTAL_SPEC_COUNT NUMBER ,
81+ TOTAL_HASH_COUNT NUMBER ,
82+
83+ STANDARD_ERROR NUMBER (31 ,7 ),
84+ EQUILIBRIUM_ASSUMPTION NUMBER (31 ,7 ),
85+ PROBABILITY NUMBER (31 ,7 ),
86+ LOWER_LIMIT NUMBER (31 ,7 ),
87+ HIGHER_LIMIT NUMBER (31 ,7 ),
88+ DISTRIBUTION_T_RESULT NUMBER (31 ,7 ),
89+ CONSTRAINT T_JSTREE_AGGREGATE_RESULT_PK PRIMARY KEY (C_ID)
90+ /*
91+ * CONSTRAINT T_JSTREE_AGGREGATE_RESULT_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_JSTREE_AGGREGATE_RESULT(C_ID) ON DELETE CASCADE
92+ */
93+ );
94+
95+ COMMENT ON TABLE T_JSTREE_AGGREGATE_RESULT IS ' 기본 트리 스키마' ;
96+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_ID IS ' 노드 아이디' ;
97+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_PARENTID IS ' 부모 노드 아이디' ;
98+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_POSITION IS ' 노드 포지션' ;
99+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_LEFT IS ' 노드 좌측 끝 포인트' ;
100+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_RIGHT IS ' 노드 우측 끝 포인트' ;
101+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_LEVEL IS ' 노드 DEPTH ' ;
102+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_TITLE IS ' 노드 명' ;
103+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.C_TYPE IS ' 노드 타입' ;
104+
105+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.CAL_TIME IS ' 누적 집계 시간' ;
106+
107+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_NAME IS ' 우위 이름' ;
108+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_NUMBER_OF_ADVANTAGES IS ' 우위 스펙 개수' ;
109+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_LIKE_COUNT IS ' 우위 좋아요 개수' ;
110+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_TOTAL_REGISTERED_POSTS IS ' 우위 등록 글 개수' ;
111+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_REGISTERED_HASH_TAG IS ' 우위 등록 해시태그 개수' ;
112+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_GRAPH_PERCENT IS ' 상위 그래프 퍼센트' ;
113+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOP_VERSUS_SCORE IS ' 상위 비교 스코어' ;
114+
115+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_NAME IS ' 중위 이름' ;
116+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_NUMBER_OF_ADVANTAGES IS ' 중위 스펙 개수' ;
117+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_LIKE_COUNT IS ' 중위 좋아요 개수' ;
118+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_TOTAL_REGISTERED_POSTS IS ' 중위 등록 글 개수' ;
119+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_REGISTERED_HASH_TAG IS ' 중위 등록 해시태그 개수' ;
120+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_GRAPH_PERCENT IS ' 중위 그래프 퍼센트' ;
121+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.MID_VERSUS_SCORE IS ' 중위 비교 스코어' ;
122+
123+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_NAME IS ' 하위 이름' ;
124+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_NUMBER_OF_ADVANTAGES IS ' 하위 스펙 개수' ;
125+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_LIKE_COUNT IS ' 하위 좋아요 개수' ;
126+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_TOTAL_REGISTERED_POSTS IS ' 하위 등록 글 개수' ;
127+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_REGISTERED_HASH_TAG IS ' 하위 등록 해시태그 개수' ;
128+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_GRAPH_PERCENT IS ' 하위 그래프 퍼센트' ;
129+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.BOT_VERSUS_SCORE IS ' 하위 비교 스코어' ;
130+
131+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOTAL_TRAFFIC IS ' 총 트래픽' ;
132+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.UNIQUE_VISIT IS ' 유니크 방문 카운트' ;
133+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.REVISIT_COUNT IS ' 재 방문 카운트' ;
134+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.PAGE_VIEW IS ' 페이지 뷰 카운트' ;
135+
136+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOTAL_ARTICLE IS ' 총 등록 글 개수' ;
137+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOTAL_LIKE_COUNT IS ' 총 좋아요 등록 개수' ;
138+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOTAL_SPEC_COUNT IS ' 총 스펙 등록 개수' ;
139+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.TOTAL_HASH_COUNT IS ' 총 해시 태그 등록 개수' ;
140+
141+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.STANDARD_ERROR IS ' 표준 오차' ;
142+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.EQUILIBRIUM_ASSUMPTION IS ' 등분상 가정 유의확률' ;
143+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.PROBABILITY IS ' 유의 확률' ;
144+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.LOWER_LIMIT IS ' 신뢰구간 하한' ;
145+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.HIGHER_LIMIT IS ' 신뢰구간 상한' ;
146+ COMMENT ON COLUMN T_JSTREE_AGGREGATE_RESULT.DISTRIBUTION_T_RESULT IS ' T분포결과' ;
147+ /*
148+ * 인덱스는 되도록 걸지 말것.
149+ * CREATE UNIQUE INDEX I_COMPREHENSIVETREE ON T_JSTREE_AGGREGATE_RESULT
150+ * ("C_ID" ASC)
151+ * DROP SEQUENCE S_JSTREE_AGGREGATE_RESULT;
152+ */
153+
154+
155+ CREATE SEQUENCE S_JSTREE_AGGREGATE_RESULT
156+ START WITH 10
157+ MAXVALUE 999999999999999999999999999
158+ MINVALUE 0
159+ NOCYCLE
160+ CACHE 20
161+ NOORDER;
162+
163+ /*
164+ * JsTree 트리거
165+ */
166+ CREATE OR REPLACE TRIGGER "TG_JSTREE_AGGREGATE_RESULT "
167+ BEFORE DELETE OR INSERT OR UPDATE
168+ ON T_JSTREE_AGGREGATE_RESULT
169+ REFERENCING NEW AS NEW OLD AS OLD
170+ FOR EACH ROW
171+ DECLARE
172+ tmpVar NUMBER ;
173+ /* *****************************************************************************
174+ NAME: TRIGGER_COMPREHENSIVETREE
175+ PURPOSE:
176+
177+ REVISIONS:
178+ Ver Date Author Description
179+ --------- ---------- --------------- ------------------------------------
180+ 1.0 2012-08-29 1. Created this trigger.
181+
182+ NOTES:
183+
184+ Automatically available Auto Replace Keywords:
185+ Object Name: TRIGGER_COMPREHENSIVETREE
186+ Sysdate: 2012-08-29
187+ Date and Time: 2012-08-29, 오후 5:26:44, and 2012-08-29 오후 5:26:44
188+ Username: (set in TOAD Options, Proc Templates)
189+ Table Name: T_JSTREE_AGGREGATE_RESULT (set in the "New PL/SQL Object" dialog)
190+ Trigger Options: (set in the "New PL/SQL Object" dialog)
191+ ******************************************************************************/
192+ BEGIN
193+ tmpVar := 0 ;
194+ IF UPDATING THEN
195+ insert into T_JSTREE_AGGREGATE_RESULT_LOG
196+ values (:old .C_ID ,:old .C_PARENTID ,:old .C_POSITION ,:old .C_LEFT ,:old .C_RIGHT ,:old .C_LEVEL ,:old .C_TITLE ,:old .C_TYPE ,' update' ,' 변경이전데이터' ,sysdate );
197+ insert into T_JSTREE_AGGREGATE_RESULT_LOG
198+ values (:new .C_ID ,:new .C_PARENTID ,:new .C_POSITION ,:new .C_LEFT ,:new .C_RIGHT ,:new .C_LEVEL ,:new .C_TITLE ,:new .C_TYPE ,' update' ,' 변경이후데이터' ,sysdate );
199+ END IF;
200+ IF DELETING THEN
201+ insert into T_JSTREE_AGGREGATE_RESULT_LOG
202+ values (:old .C_ID ,:old .C_PARENTID ,:old .C_POSITION ,:old .C_LEFT ,:old .C_RIGHT ,:old .C_LEVEL ,:old .C_TITLE ,:old .C_TYPE ,' delete' ,' 삭제된데이터' ,sysdate );
203+ END IF;
204+ IF INSERTING THEN
205+ insert into T_JSTREE_AGGREGATE_RESULT_LOG
206+ values (:new .C_ID ,:new .C_PARENTID ,:new .C_POSITION ,:new .C_LEFT ,:new .C_RIGHT ,:new .C_LEVEL ,:new .C_TITLE ,:new .C_TYPE ,' insert' ,' 삽입된데이터' ,sysdate );
207+ END IF;
208+
209+ EXCEPTION
210+ WHEN OTHERS THEN
211+ -- Consider logging the error and then re-raise
212+ RAISE;
213+ END TG_JSTREE_AGGREGATE_RESULT;
214+
215+ /* *
216+ PK - FK
217+ **/
218+ ALTER TABLE T_JSTREE_MENU ADD(
219+ CONSTRAINT T_JSTREE_MENU_FK_AR
220+ FOREIGN KEY (AGGREGATE_RESULT_ID)
221+ REFERENCES T_JSTREE_AGGREGATE_RESULT (C_ID));
222+ /
0 commit comments