1 package com.teamkonzept.field.db.queries.sybase; 2 3 import com.teamkonzept.db.*; 4 import java.sql.*; 5 6 10 public class TKDBContentNew extends TKPrepQuery { 11 12 public final static boolean IS_PREPARED = 13 true; 14 15 public final static String [] PARAM_ORDER = 16 { "INSTANCE_ID", "STATUS_ID", "VERS_INFO", "VERS_AUTHOR" }; 17 18 public final static Object [][] PARAM_TYPES = 19 { {"VERS_INFO", new Integer (Types.VARCHAR)}, 20 {"VERS_AUTHOR", new Integer (Types.VARCHAR)} }; 21 22 public final static boolean[] SET_RELEVANTS = 23 { true }; 24 25 26 public final static String SQL_STRING = 27 "DECLARE @VERS_ID INT " + 28 "DECLARE @CONT_ID INT " + 29 "DECLARE @INST_ID INT " + 30 "DECLARE @STAT_ID INT " + 31 32 "BEGIN TRANSACTION " + 33 34 "SELECT @INST_ID = ? " + 35 "SELECT @STAT_ID = ? " + 36 37 "SELECT @VERS_ID=ISNULL(MAX(VERSION_ID)+1, 1) " + 38 "FROM CONTENT_VERSION " + 39 40 "SELECT @CONT_ID=ISNULL(MAX(CONTENT_ID)+1, 1) " + 41 "FROM CONTENT " + 42 43 "INSERT INTO CONTENT (CONTENT_ID) " + 44 "VALUES(@CONT_ID) " + 45 46 "INSERT INTO CONTENT_VERSION (VERSION_ID, INSTANCE_ID, CONTENT_ID, STATUS_ID, VERSION_DATE, INFO, AUTHOR) " + 47 " VALUES (@VERS_ID, @INST_ID, @CONT_ID, @STAT_ID, {fn NOW()}, ?, ?) " + 48 49 "COMMIT TRANSACTION " + 50 51 "SELECT CV.*, CI.NAME FROM CONTENT_VERSION CV, CONTENT_INSTANCE CI " + 52 "WHERE CV.VERSION_ID = @VERS_ID AND CI.INSTANCE_ID = @INST_ID "; 53 54 55 public void initQuery(Connection con) { 56 super.initQuery( 57 con, 58 IS_PREPARED, 59 PARAM_ORDER, 60 PARAM_TYPES, 61 SET_RELEVANTS, 62 SQL_STRING ); 63 } 64 } 65 | Popular Tags |