1 5 package com.teamkonzept.webman.mainint.db.queries.sybase; 6 7 import java.sql.*; 8 9 import com.teamkonzept.db.*; 10 11 18 public class TKDBSiteTreeInsertNode extends TKPrepQuery{ 19 20 public final static boolean isPrepared = 21 true; 22 23 public final static String [] paramOrder = 24 { "NODE_ID" ,"SELECTION_TYPE" ,"SELECTION_DATA", 25 "SITE_NODE_TYPE", "SITE_NODE_NAME", "SITE_NODE_SHORTNAME", 26 "PG_CONTENT_NODE" 27 }; 28 29 public final static Object [][] paramTypes = 30 { 31 { "SITE_NODE_NAME", new Integer (Types.VARCHAR) }, 32 { "SITE_NODE_SHORTNAME", new Integer (Types.VARCHAR) }, 33 { "SELECTION_DATA", new Integer (Types.VARCHAR) }, 34 { "SELECTION_TYPE", new Integer (Types.VARCHAR) }, 35 }; 36 37 public final static boolean[] setRelevants = 38 { true }; 39 40 public final static String sqlString = 41 "DECLARE @PR_NR INT " + 42 "DECLARE @ST VARCHAR(80) " + 43 "DECLARE @SID INT " + 44 "DECLARE @OLDID INT " + 45 "DECLARE @ID INT " + 46 47 "SELECT @OLDID = ? " + 48 "SELECT @ST = ? " + 49 "SELECT @SID = NULL " + 50 51 "BEGIN TRANSACTION " + 52 53 "IF ( @ST IS NOT NULL ) " + 54 "BEGIN " + 55 "SELECT " + 56 " @SID = ISNULL(MAX(SELECTION_ID) + 1,0) " + 57 "FROM " + 58 " CONTENT_SELECTION " + 59 60 "INSERT INTO "+ 61 " CONTENT_SELECTION " + 62 " (SELECTION_ID, SELECTION_TYPE, SELECTION_DATA) " + 63 "VALUES " + 64 " (@SID, @ST, ?) " + 65 "END " + 66 67 "SELECT " + 68 " @PR_NR=RIGHT_NR " + 69 "FROM " + 70 " SITE_TREE " + 71 "WHERE " + 72 " SITE_NODE_ID = @OLDID " + 73 74 "UPDATE " + 75 " SITE_TREE " + 76 "SET " + 77 " RIGHT_NR = RIGHT_NR + 2 " + 78 "WHERE " + 79 " RIGHT_NR >= @PR_NR " + 80 81 "UPDATE " + 82 " SITE_TREE " + 83 "SET " + 84 " LEFT_NR = LEFT_NR + 2 " + 85 "WHERE " + 86 " LEFT_NR > @PR_NR " + 87 88 "SELECT " + 89 " @ID = MAX(SITE_NODE_ID) + 1 " + 90 "FROM " + 91 " SITE_TREE " + 92 93 "INSERT INTO " + 94 "SITE_TREE " + 95 " (SITE_NODE_ID, SITE_NODE_PARENT, " + 96 " SITE_NODE_TYPE, SITE_NODE_NAME, SITE_NODE_SHORTNAME, " + 97 " LEFT_NR, RIGHT_NR, " + 98 " PG_CONTENT_NODE, PG_SELECTION_ID) " + 99 "VALUES " + 100 " (@ID, @OLDID, ?, ?, ?, @PR_NR, @PR_NR + 1, ?, @SID) " + 101 102 "COMMIT TRANSACTION " + 103 104 "SELECT " + 105 " * " + 106 "FROM " + 107 " SITE_TREE " + 108 "WHERE " + 109 " SITE_NODE_ID = @ID "; 110 111 public void initQuery(Connection con) { 112 super.initQuery( 113 con, 114 isPrepared, 115 paramOrder, 116 paramTypes, 117 setRelevants, 118 sqlString ); 119 } 120 } 121 122 | Popular Tags |