KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > duplication > oracle > TKDBContentTreeRenameRecursive


1 package com.teamkonzept.webman.mainint.db.queries.duplication.oracle;
2
3 import java.io.*;
4 import java.util.*;
5 import java.sql.*;
6
7 import com.teamkonzept.db.*;
8
9 /**
10  * fügt an die Namen aller Knoten unterhalb des Knotens mit ID ROOT_ID
11  * die Erweiterung NAME_EXT an, vorne wenn POS == 0, sonst hinten.
12  * CONTENT_NODE_NAME und CONTENT_NODE_SHORTNAME werden veraendert
13  */

14 public class TKDBContentTreeRenameRecursive extends TKPrepQuery{
15
16     public final static boolean isPrepared =
17         true;
18     
19     public final static String JavaDoc[] paramOrder =
20         { "NAME_EXT", "POS" , "ROOT_ID" };
21     
22     public final static Object JavaDoc[][] paramTypes =
23         {{ "NAME_EXT ", new Integer JavaDoc(Types.VARCHAR) }};
24                 
25     public final static boolean[] setRelevants =
26         null;
27         
28     public final static String JavaDoc sqlString =
29              
30  /* Vorne oder hinten anhaengen einer Namenserweiterung im CONTENT Tree bei allen Kindern eines Nodes */
31
32     " DECLARE "
33      + " name_ext VARCHAR2(100); "
34      + " root_id INTEGER; "
35      + " root_right INTEGER; "
36      + " root_left INTEGER; "
37      + " pos INTEGER; "
38      + " BEGIN "
39      + " name_ext := ?; "
40      + " pos := ?; "
41      + " root_id := ?; "
42         
43      + " SELECT RIGHT_NR INTO root_right "
44      + " FROM CONTENT_TREE "
45      + " WHERE "
46      + " CONTENT_NODE_ID = root_id; "
47               
48      + " SELECT LEFT_NR INTO root_left "
49      + " FROM CONTENT_TREE "
50      + " WHERE "
51      + " CONTENT_NODE_ID = root_id; "
52      + " IF (pos = 0) THEN "
53      + " " /* vorne anfuegen */
54      + " UPDATE CONTENT_TREE "
55      + " SET CONTENT_NODE_NAME = name_ext || CONTENT_NODE_NAME "
56      + " WHERE LEFT_NR > root_left "
57      + " AND "
58      + " RIGHT_NR < root_right; "
59         
60         
61      + " UPDATE CONTENT_TREE "
62      + " SET CONTENT_NODE_SHORTNAME = name_ext || CONTENT_NODE_SHORTNAME "
63      + " WHERE LEFT_NR > root_left "
64      + " AND "
65      + " RIGHT_NR < root_right; "
66      + " ELSE "
67      + " " /* hinten anfuegen */
68      + " UPDATE CONTENT_TREE "
69      + " SET CONTENT_NODE_NAME = CONTENT_NODE_NAME || name_ext "
70      + " WHERE LEFT_NR > root_left "
71      + " AND "
72      + " RIGHT_NR < root_right; "
73          
74           
75      + " UPDATE CONTENT_TREE "
76      + " set CONTENT_NODE_SHORTNAME = CONTENT_NODE_SHORTNAME || name_ext "
77      + " WHERE LEFT_NR > root_left "
78      + " AND "
79      + " RIGHT_NR < root_right; "
80      + " END IF; "
81      + " END; "
82     ;
83
84     
85     public void initQuery(Connection con) {
86         super.initQuery(
87             con,
88             isPrepared,
89             paramOrder,
90             paramTypes,
91             setRelevants,
92             sqlString );
93     }
94 }
95
96
97
98
99
100
101
Popular Tags