KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > sybase > TKDBContentTreeDeleteDependentDC


1 package com.teamkonzept.webman.mainint.db.queries.sybase;
2
3 import com.teamkonzept.db.*;
4 import java.sql.*;
5
6 /*
7  * TKDBContentTreeDeleteDependentDC
8  * loescht alle Eintraeg in DC die abhaengkeiten in CONTENT_TREE haben
9  * Input: CONTENT_NODE_ID
10  * Output: none
11  */

12 public class TKDBContentTreeDeleteDependentDC extends TKPrepQuery {
13     public final static boolean isPrepared =
14         true;
15     
16     public final static String JavaDoc[] paramOrder =
17         { "CONTENT_NODE_ID" };
18     
19     public final static Object JavaDoc[][] paramTypes =
20         null;
21         
22     public final static boolean[] setRelevants =
23         { false };
24         
25     public final static String JavaDoc sqlString =
26         "DECLARE @L_NR INT " +
27         "DECLARE @R_NR INT " +
28
29         
30         "CREATE TABLE #temp " +
31         "( " +
32         " CONTENT_NODE_ID int " +
33         ") " +
34         
35         "BEGIN TRANSACTION " +
36
37         "SELECT " +
38         " @L_NR = LEFT_NR, @R_NR = RIGHT_NR " +
39         "FROM " +
40         " CONTENT_TREE " +
41         "WHERE " +
42         " CONTENT_NODE_ID = ? " +
43         
44
45         "INSERT INTO " +
46         " #temp " +
47         " (CONTENT_NODE_ID) " +
48         "SELECT " +
49         " (CONTENT_NODE_ID) " +
50         "FROM " +
51         " CONTENT_TREE " +
52         "WHERE " +
53         " LEFT_NR >= @L_NR " +
54         "AND " +
55         " RIGHT_NR <= @R_NR " +
56         
57         "DELETE FROM " +
58         " CONTENT_SELECTION " +
59         "WHERE " +
60         " SELECTION_ID IN ( " +
61             "SELECT " +
62             " SELECTION_ID " +
63             "FROM " +
64             " DOCUMENT_CONTENT " +
65             "WHERE " +
66             " CONTENT_NODE_ID IN ( " +
67                 "SELECT " +
68                 " CONTENT_NODE_ID " +
69                 "FROM " +
70                 " #temp " +
71                 ") " +
72             "AND " +
73             " SELECTION_ID IS NOT NULL " +
74         ") " +
75
76         "DELETE FROM " +
77         " DOCUMENT_CONTENT " +
78         "WHERE " +
79         " CONTENT_NODE_ID IN ( " +
80             "SELECT " +
81             " CONTENT_NODE_ID " +
82             "FROM " +
83             " #temp " +
84         ") " +
85
86         "COMMIT TRANSACTION " +
87
88         "DROP TABLE #temp ";
89         
90     public void initQuery(Connection con) {
91         super.initQuery(
92             con,
93             isPrepared,
94             paramOrder,
95             paramTypes,
96             setRelevants,
97             sqlString );
98     }
99 }
100
101
102
Popular Tags