KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > sitetree > DcCsCloneOnSd


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/mainint/db/queries/sitetree/Attic/DcCsCloneOnSd.java,v 1.4 2001/09/04 09:01:37 ralf Exp $
3  *
4  */

5 package com.teamkonzept.webman.mainint.db.queries.sitetree;
6
7 import java.sql.*;
8
9 import com.teamkonzept.db.*;
10
11
12 public class DcCsCloneOnSd extends TKPrepQuery
13 {
14
15     public final static boolean ISPREPARED =
16         true;
17     
18     public final static String JavaDoc[] PARAMORDER =
19         {
20             NODE_ID,
21             SITE_NODE_DOC_IDX,
22             SITE_NODE_ID,
23             SITE_NODE_DOC_IDX
24 // wird nie gesetzt???
25
// NEW_ID,
26
// NEW_IDX
27
};
28     
29     public final static Object JavaDoc[][] PARAMTYPES =
30         null;
31         
32     public final static boolean[] SETRELEVANTS =
33         null;
34         
35     public final static String JavaDoc SQLSTRING =
36         
37 /* clone DOCUMENT_CONTENT and CONTENT_SELECTION */
38
39   " DECLARE "
40  + " new_id INTEGER; "
41  + " new_idx INTEGER; "
42
43  + " new_sel_id INTEGER; "
44
45 /* cl contains the DOCUMENT_CONTENT records, that reference old_id / old_idx */
46  + " CURSOR cl IS "
47  + " SELECT * FROM DOCUMENT_CONTENT "
48  + " WHERE "
49  + " SITE_NODE_ID = ? " /* ?OLD_ID */
50  + " AND "
51  + " SITE_NODE_DOC_IDX = ? " /* ?OLD_IDX*/
52  + " ; "
53  + " BEGIN "
54  + " new_id := ? ; " /* ?NEW_ID */
55  + " new_idx := ? ; " /* ?NEW_IDX */
56     
57  + " new_sel_id := NULL; "
58  + " FOR cl_rec IN cl "
59  + " LOOP "
60  + " IF(cl_rec.SELECTION_ID IS NOT NULL) THEN "
61             
62  + " SELECT MAX(SELECTION_ID) + 1 INTO new_sel_id FROM CONTENT_SELECTION; "
63             
64  + " INSERT INTO CONTENT_SELECTION "
65  + " SELECT new_sel_id, SELECTION_TYPE, SELECTION_DATA "
66  + " FROM CONTENT_SELECTION "
67  + " WHERE SELECTION_ID = cl_rec.SELECTION_ID; "
68  + " END IF; "
69         
70  + " INSERT INTO DOCUMENT_CONTENT "
71  + " (SITE_NODE_ID, "
72  + " SITE_NODE_DOC_IDX, "
73  + " PRESENTATION_COMPONENT_IDX, "
74  + " CONTENT_NODE_ID, "
75  + " PROTOTYPE_NODE_ID, "
76  + " SELECTION_ID ) "
77  + " values( new_id, "
78  + " new_idx, "
79  + " cl_rec.PRESENTATION_COMPONENT_IDX, "
80  + " cl_rec.CONTENT_NODE_ID, "
81  + " cl_rec.PROTOTYPE_NODE_ID, "
82  + " new_sel_id "
83  + " ); "
84  + " END LOOP; "
85  + " END; "
86 ;
87         
88         
89     public void initQuery(Connection con)
90     {
91         super.initQuery(
92             con,
93             ISPREPARED,
94             PARAMORDER,
95             PARAMTYPES,
96             SETRELEVANTS,
97             SQLSTRING );
98     }
99 }
100
Popular Tags