KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.teamkonzept.webman.mainint.db.queries.duplication.oracle;
2
3 import com.teamkonzept.db.*;
4 //import com.teamkonzept.lib.*;
5

6 import java.io.*;
7 import java.util.*;
8 import java.sql.*;
9
10
11 /**
12  * fügt an die Namen aller Knoten im Sitetree unterhalb des Knotens
13  * mit ID ROOT_ID
14  * die Erweiterung NAME_EXT an, vorne wenn POS == 0, sonst hinten.
15  * SITE_NODE_NAME und SITE_NODE_SHORTNAME werden veraendert
16  */

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