01: /*
02: * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/db/OracleStringFactory.java,v 1.7 2001/10/15 09:39:21 markus Exp $
03: *
04: */
05: package com.teamkonzept.db;
06:
07: /**
08: * provides databasespecific strings
09: *
10: * @author
11: * @version
12: * @see DBStringFactory
13: */
14: public class OracleStringFactory extends DBStringFactory {
15:
16: private static final String NULL_INTEGER = " TO_NUMBER( NULL ) ";
17: private static final String IF_NULL_THAN = " nvl";
18: private static final String ORACLE_TEMP = " GLOBAL TEMPORARY ";
19: private static final String ORACLE_TRANS = " ON COMMIT DELETE ROWS ";
20: private static final String CHECK_EXISTENCE = " SELECT TABLE_NAME FROM USER_CATALOG WHERE TABLE_NAME ";
21: private static final String ORACLE_FROM = " FROM DUAL ";
22:
23: public String specDeclareAsTemp() {
24: return ORACLE_TEMP;
25: }
26:
27: public String specDeclareForTransaction() {
28: return ORACLE_TRANS;
29: }
30:
31: public String specNullValue() {
32: return NULL_INTEGER;
33: }
34:
35: /** if null then...*/
36: protected String specNvl() {
37: return IF_NULL_THAN;
38: }
39:
40: protected String specCheckExistence() {
41: return CHECK_EXISTENCE;
42: }
43:
44: protected String specGetFromSystem() {
45: return ORACLE_FROM;
46: }
47:
48: /** left outer loin on the given columns */
49: protected String specLeftOuterJoin(String leftColumn,
50: String rightColumn) {
51: return leftColumn + " = " + rightColumn + " (+) ";
52: }
53:
54: /** right outer loin on the given columns */
55: protected String specRightOuterJoin(String leftColumn,
56: String rightColumn) {
57: return leftColumn + " (+) = " + rightColumn;
58: }
59:
60: protected String specLeftOuterJoinFrom(String[] columns,
61: String leftTable, String rightTable) {
62: return leftTable + "," + rightTable;
63: }
64:
65: protected String specRightOuterJoinFrom(String[] columns,
66: String leftTable, String rightTable) {
67: return leftTable + "," + rightTable;
68: }
69: }
|