1 package com.teamkonzept.webman.mainint.db.queries.duplication.oracle; 2 3 import com.teamkonzept.db.*; 4 6 import java.io.*; 7 import java.util.*; 8 import java.sql.*; 9 10 11 17 public class TKDBSiteTreeRenameRecursive extends TKPrepQuery{ 18 19 public final static boolean isPrepared = 20 true; 21 22 public final static String [] paramOrder = 23 { "NAME_EXT", "POS" , "ROOT_ID" }; 24 25 public final static Object [][] paramTypes = 26 {{ "NAME_EXT ", new Integer (Types.VARCHAR) }}; 27 28 public final static boolean[] setRelevants = 29 null; 30 31 public final static String sqlString = 32 33 34 35 36 " DECLARE " 37 + " name_ext VARCHAR2(100); " 38 + " root_id INTEGER; " 39 + " root_right INTEGER; " 40 + " root_left INTEGER; " 41 + " pos INTEGER; " 42 + " BEGIN " 43 + " name_ext := ?; " 44 + " pos := ?; " 45 + " root_id := ?; " 46 47 + " SELECT RIGHT_NR INTO root_right " 48 + " FROM SITE_TREE " 49 + " WHERE " 50 + " SITE_NODE_ID = root_id; " 51 52 + " SELECT LEFT_NR INTO root_left " 53 + " FROM SITE_TREE " 54 + " WHERE " 55 + " SITE_NODE_ID = root_id; " 56 + " IF (pos = 0) THEN " 57 + " " 58 + " UPDATE SITE_TREE " 59 + " SET SITE_NODE_NAME = name_ext || SITE_NODE_NAME " 60 + " WHERE LEFT_NR > root_left " 61 + " AND " 62 + " RIGHT_NR < root_right; " 63 64 65 + " UPDATE SITE_TREE " 66 + " SET SITE_NODE_SHORTNAME = name_ext || SITE_NODE_SHORTNAME " 67 + " WHERE LEFT_NR > root_left " 68 + " AND " 69 + " RIGHT_NR < root_right; " 70 + " ELSE " 71 + " " 72 + " UPDATE SITE_TREE " 73 + " SET SITE_NODE_NAME = SITE_NODE_NAME || name_ext " 74 + " WHERE LEFT_NR > root_left " 75 + " AND " 76 + " RIGHT_NR < root_right; " 77 78 79 + " UPDATE SITE_TREE " 80 + " set SITE_NODE_SHORTNAME = SITE_NODE_SHORTNAME || name_ext " 81 + " WHERE LEFT_NR > root_left " 82 + " AND " 83 + " RIGHT_NR < root_right; " 84 + " END IF; " 85 + " END; " 86 87 ; 88 89 public void initQuery(Connection con) { 90 super.initQuery( 91 con, 92 isPrepared, 93 paramOrder, 94 paramTypes, 95 setRelevants, 96 sqlString ); 97 } 98 } 99 100 101 | Popular Tags |