KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.teamkonzept.webman.mainint.db.queries.duplication;
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 @NAME_EXT varchar(100) "
33  + " DECLARE @ROOT_ID int "
34  + " DECLARE @RIGHT_NR int "
35  + " DECLARE @LEFT_NR int "
36  + " DECLARE @POS int "
37
38  + " SELECT @NAME_EXT = ? "
39  + " SELECT @POS = ? "
40  + " SELECT @ROOT_ID = ? "
41  + " SELECT @RIGHT_NR = RIGHT_NR "
42  + " FROM CONTENT_TREE "
43  + " WHERE "
44  + " CONTENT_NODE_ID = @ROOT_ID "
45           
46  + " SELECT @LEFT_NR = LEFT_NR "
47  + " FROM CONTENT_TREE "
48  + " WHERE "
49  + " CONTENT_NODE_ID = @ROOT_ID "
50  + " IF (@POS = 0) "
51  + " BEGIN " /* vorne anfuegen */
52  + " UPDATE CONTENT_TREE "
53  + " set CONTENT_NODE_NAME = stuff(CONTENT_NODE_NAME, 1, 0, @NAME_EXT) "
54  + " WHERE LEFT_NR > @LEFT_NR "
55  + " AND "
56  + " RIGHT_NR < @RIGHT_NR "
57     
58     
59  + " UPDATE CONTENT_TREE "
60  + " set CONTENT_NODE_SHORTNAME = stuff(CONTENT_NODE_SHORTNAME, 1, 0, @NAME_EXT) "
61  + " WHERE LEFT_NR > @LEFT_NR "
62  + " AND "
63  + " RIGHT_NR < @RIGHT_NR "
64  + " END "
65  + " ELSE "
66  + " BEGIN " /* hinten anfuegen */
67  + " UPDATE CONTENT_TREE "
68  + " set CONTENT_NODE_NAME = stuff(@NAME_EXT, 1, 0, CONTENT_NODE_NAME) "
69  + " WHERE LEFT_NR > @LEFT_NR "
70  + " AND "
71  + " RIGHT_NR < @RIGHT_NR "
72      
73       
74  + " UPDATE CONTENT_TREE "
75  + " set CONTENT_NODE_SHORTNAME = stuff(@NAME_EXT, 1, 0, CONTENT_NODE_SHORTNAME) "
76  + " WHERE LEFT_NR > @LEFT_NR "
77  + " AND "
78  + " RIGHT_NR < @RIGHT_NR "
79  + " END " ;
80     
81     
82     public void initQuery(Connection con) {
83         super.initQuery(
84             con,
85             isPrepared,
86             paramOrder,
87             paramTypes,
88             setRelevants,
89             sqlString );
90     }
91 }
92
93
94
95
96
97
98
Popular Tags