1 package com.teamkonzept.webman.mainint.db.queries.sybase; 2 3 import com.teamkonzept.db.*; 4 import java.sql.*; 5 6 13 public class TKDBContentTreeInsertNode extends TKPrepQuery { 14 15 public final static boolean isPrepared = 16 true; 17 18 public final static String [] paramOrder = 19 { "NODE_ID" , 20 "CONTENT_NODE_NAME", "CONTENT_NODE_SHORTNAME", 21 "CONTENT_NODE_TYPE", "CONTENT_FORM", 22 "TREE_ID", "PROTOTYPE_ID" 23 }; 24 25 public final static Object [][] paramTypes = 26 {{ "CONTENT_NODE_NAME", new Integer (Types.VARCHAR) }, 27 { "CONTENT_NODE_SHORTNAME", new Integer (Types.VARCHAR) }}; 28 29 public final static boolean[] setRelevants = 30 { true }; 31 32 public final static String sqlString = 33 "DECLARE @PR_NR INT " + 34 "DECLARE @N_ID INT " + 35 "DECLARE @ID INT " + 36 37 "BEGIN TRANSACTION " + 38 39 "SELECT @N_ID = ? " + 40 41 "SELECT " + 42 " @PR_NR=RIGHT_NR " + 43 "FROM " + 44 " CONTENT_TREE " + 45 "WHERE " + 46 " CONTENT_NODE_ID = @N_ID " + 47 48 "UPDATE " + 49 " CONTENT_TREE " + 50 "SET " + 51 " RIGHT_NR = RIGHT_NR + 2 " + 52 "WHERE " + 53 " RIGHT_NR >= @PR_NR " + 54 55 "UPDATE " + 56 " CONTENT_TREE " + 57 "SET " + 58 " LEFT_NR = LEFT_NR + 2 " + 59 "WHERE " + 60 " LEFT_NR > @PR_NR " + 61 62 "SELECT " + 63 " @ID = MAX(CONTENT_NODE_ID) + 1 " + 64 "FROM " + 65 " CONTENT_TREE " + 66 67 "INSERT INTO " + 68 "CONTENT_TREE " + 69 " (CONTENT_NODE_ID, CONTENT_NODE_NAME, CONTENT_NODE_SHORTNAME, " + 70 " CONTENT_NODE_TYPE, LEFT_NR, RIGHT_NR, " + 71 " CONTENT_FORM, CONTENT_NODE_PARENT, TREE_ID, PROTOTYPE_ID) " + 72 "VALUES " + 73 " (@ID, ?, ?, ?, @PR_NR, @PR_NR + 1, ?, @N_ID, ?, ?) " + 74 75 "COMMIT TRANSACTION " + 76 77 "SELECT " + 78 " CONTENT_NODE_ID, CONTENT_NODE_NAME, CONTENT_NODE_SHORTNAME, " + 79 " CONTENT_NODE_TYPE, LEFT_NR, RIGHT_NR, " + 80 " CONTENT_FORM " + 81 "FROM " + 82 " CONTENT_TREE " + 83 "WHERE " + 84 " CONTENT_NODE_ID = @ID "; 85 86 public void initQuery(Connection con) { 87 super.initQuery( 88 con, 89 isPrepared, 90 paramOrder, 91 paramTypes, 92 setRelevants, 93 sqlString ); 94 } 95 } 96 | Popular Tags |