1 package de.webman.content.db.queries.sybase; 2 3 import com.teamkonzept.db.*; 4 import java.sql.*; 5 6 public class TKDBContentAttributePut extends TKPrepQuery { 7 8 public final static boolean ISPREPARED = 9 true; 10 11 public final static String [] PARAMORDER = 12 { "CONTENT_ID", "ATTRIBUTE_ID", "STR_VALUE", "INT_VALUE", "DATE_VALUE" }; 13 14 public final static Object [][] PARAMTYPES = 15 { {"STR_VALUE", new Integer (Types.VARCHAR)}, 16 {"DATE_VALUE", new Integer (Types.TIMESTAMP)} }; 17 18 19 public final static boolean[] SETRELEVANTS = 20 { true }; 21 22 public final static String SQLSTRING = 23 "DECLARE @CONT_ID INT " + 24 "DECLARE @VAL_ID INT " + 25 26 "BEGIN TRANSACTION " + 27 28 "SELECT @CONT_ID = ? " + 29 30 "SELECT @VAL_ID=ISNULL(MAX(VALUE_ID)+1, 1) " + 31 "FROM CONTENT_ATTRIBUTE " + 32 33 "INSERT INTO CONTENT_ATTRIBUTE (VALUE_ID,ATTRIBUTE_ID,STR_VALUE,INT_VALUE,DATE_VALUE) " + 34 "VALUES(@VAL_ID,?,?,?,?) " + 35 36 "INSERT INTO CONTENT_ATTRIBUTE_VALUE (CONTENT_ID, VALUE_ID) " + 37 " VALUES (@CONT_ID, @VAL_ID) " + 38 39 "COMMIT TRANSACTION " + 40 41 "SELECT CV.CONTENT_ID, CA.*, A.NAME, A.TYPE, A.CLASSNAME " + 42 " FROM CONTENT_ATTRIBUTE_VALUE CV, CONTENT_ATTRIBUTE CA, ATTRIBUTE A " + 43 "WHERE CV.CONTENT_ID = @CONT_ID AND CV.VALUE_ID = @VAL_ID AND " + 44 " CA.VALUE_ID = @VAL_ID AND A.ATTRIBUTE_ID = CA.ATTRIBUTE_ID "; 45 46 public void initQuery(Connection con) { 47 super.initQuery( 48 con, 49 ISPREPARED, 50 PARAMORDER, 51 PARAMTYPES, 52 SETRELEVANTS, 53 SQLSTRING ); 54 } 55 } 56 | Popular Tags |