1 5 package com.teamkonzept.webman.mainint.db.queries.sybase; 6 7 import java.sql.*; 8 9 import com.teamkonzept.db.*; 10 11 20 public class TKDBSiteTreeGetOpen extends TKPrepQuery{ 21 22 public final static boolean isPrepared = 23 true; 24 25 public final static String [] paramOrder = 26 { "NODE_ID" }; 27 public final static Object [][] paramTypes = 28 null; 29 30 public final static boolean[] setRelevants = 31 { true }; 32 33 public final static String sqlString = 34 "DECLARE @N_ID int " + 35 "DECLARE @LNR int " + 36 "DECLARE @RNR int " + 37 38 "SELECT @N_ID = ? " + 39 40 "IF (@N_ID IS NULL) " + 41 "BEGIN " + 42 "SELECT " + 43 " @N_ID = SITE_NODE_ID " + 44 "FROM " + 45 " SITE_TREE " + 46 "WHERE " + 47 " SITE_NODE_PARENT = NULL " + 48 "END " + 49 50 "SELECT " + 51 " @LNR = LEFT_NR, " + 52 " @RNR = RIGHT_NR " + 53 "FROM " + 54 " SITE_TREE " + 55 "WHERE " + 56 " SITE_NODE_ID = @N_ID " + 57 58 "SELECT " + 59 " SITE_NODE_ID " + 60 "INTO " + 61 " #temp " + 62 "FROM " + 63 " SITE_TREE " + 64 "WHERE " + 65 " LEFT_NR <= @LNR " + 66 "AND " + 67 " RIGHT_NR >= @RNR " + 68 69 "CREATE TABLE " + 70 " #temp2 " + 71 " (SITE_NODE_ID int null, NODE_ID int null) " + 72 73 "INSERT INTO " + 74 " #temp2 " + 75 "SELECT " + 76 " SITE_NODE_ID, SITE_NODE_ID " + 77 "FROM " + 78 " SITE_TREE " + 79 "WHERE " + 80 " SITE_NODE_PARENT IN " + 81 "( SELECT SITE_NODE_ID FROM #temp ) " + 82 "OR " + 83 " SITE_NODE_ID IN " + 84 "( SELECT SITE_NODE_ID FROM #temp ) " + 85 86 "UPDATE " + 87 " #temp2 " + 88 "SET " + 89 " NODE_ID = CT.SITE_NODE_PARENT " + 90 "FROM " + 91 " #temp T, SITE_TREE CT " + 92 "WHERE " + 93 " CT.SITE_NODE_ID = #temp2.SITE_NODE_ID " + 94 "AND " + 95 " CT.SITE_NODE_ID = T.SITE_NODE_ID " + 96 97 "UPDATE " + 98 " #temp2 " + 99 "SET " + 100 " NODE_ID = NULL " + 101 "FROM " + 102 " SITE_TREE CT " + 103 "WHERE " + 104 " CT.SITE_NODE_ID = #temp2.SITE_NODE_ID " + 105 "AND " + 106 " CT.SITE_NODE_TYPE < 3 " + 107 108 "SELECT " + 109 " CT.*, T.NODE_ID " + 110 "FROM " + 111 " SITE_TREE CT, #temp2 T " + 112 "WHERE " + 113 " CT.SITE_NODE_ID = T.SITE_NODE_ID " + 114 "ORDER BY " + 115 " CT.LEFT_NR " + 116 117 "DROP TABLE #temp " + 118 "DROP TABLE #temp2 "; 119 120 public void initQuery(Connection con) { 121 super.initQuery( 122 con, 123 isPrepared, 124 paramOrder, 125 paramTypes, 126 setRelevants, 127 sqlString ); 128 } 129 } 130 131 132 | Popular Tags |