KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > refsel > db > queries > sybase > TKWMDBRSMother


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/refsel/db/queries/sybase/TKWMDBRSMother.java,v 1.1 2001/09/18 15:53:40 markus Exp $
3  *
4  */

5 package com.teamkonzept.webman.refsel.db.queries.sybase;
6
7 import java.sql.*;
8
9 import com.teamkonzept.db.*;
10
11 /*
12  * TKWMDBRSMother
13  */

14 public class TKWMDBRSMother extends TKPrepQuery {
15
16     public final static boolean ISPREPARED =
17         true;
18     
19     public final static String JavaDoc[] PARAMORDER =
20         {"SITE_NODE_ID"};
21     
22     public final static Object JavaDoc[][] PARAMTYPES =
23         null;
24                 
25     public final static boolean[] SETRELEVANTS =
26         { true };
27         
28     public final static String JavaDoc SQLSTRING =
29         "DECLARE @LNR int " +
30         "DECLARE @RNR int " +
31         "DECLARE @ID int " +
32         
33         "CREATE TABLE #temp " +
34             "( " +
35             "DOCUMENT_SHORTNAME varchar(80) not null, LEFT_NR int not null, " +
36             "DOCUMENT_NAME varchar(254) null " +
37             ") " +
38         
39         "BEGIN TRANSACTION " +
40
41         "SELECT " +
42         " @LNR = LEFT_NR, " +
43         " @RNR = RIGHT_NR, " +
44         " @ID = SITE_NODE_PARENT " +
45         "FROM " +
46         " SITE_TREE " +
47         "WHERE " +
48         " SITE_NODE_ID = ? " +
49         
50         "INSERT INTO " +
51         " #temp " +
52         " (DOCUMENT_SHORTNAME, LEFT_NR) " +
53         "SELECT " +
54         " SD.DOCUMENT_SHORTNAME AS DOCUMENT_SHORTNAME, " +
55         " MAX(LEFT_NR) AS LEFT_NR " +
56         "FROM " +
57         " SITE_TREE ST, SITE_DOCUMENT SD " +
58         "WHERE " +
59         " SD.SITE_NODE_ID = ST.SITE_NODE_ID " +
60         "AND " +
61         " ST.LEFT_NR < @LNR " +
62         "AND " +
63         " ST.RIGHT_NR > @RNR " +
64         "AND " +
65             "( " +
66                 " SD.INHERITABLE = 1 " +
67             "OR " +
68                 " ST.SITE_NODE_ID = @ID " +
69             ") " +
70         "GROUP BY " +
71         " SD.DOCUMENT_SHORTNAME " +
72
73         "UPDATE " +
74         " #temp " +
75         "SET " +
76         " DOCUMENT_NAME = SD.DOCUMENT_NAME " +
77         "FROM " +
78         " SITE_DOCUMENT SD, #temp T " +
79         "WHERE " +
80         " T.DOCUMENT_SHORTNAME = SD.DOCUMENT_SHORTNAME " +
81
82         "COMMIT TRANSACTION " +
83         
84         "SELECT * FROM #temp " +
85         "ORDER BY " +
86         " LEFT_NR " +
87
88         "DROP TABLE #temp ";
89         
90     
91     public void initQuery(Connection con) {
92         super.initQuery(
93             con,
94             ISPREPARED,
95             PARAMORDER,
96             PARAMTYPES,
97             SETRELEVANTS,
98             SQLSTRING );
99     }
100 }
101
102
Popular Tags