package com.iplatform.mybatis.util; public class SqlUtils { public static final String SQL_PG_FIELDS = "SELECT\n" + "\tC.relname table_name,\n" + "\tA.attname AS column_name, A.attlen data_precision,\n" + "\tformat_type ( A.atttypid, A.atttypmod ) AS data_type,\n" + "\tcol_description ( A.attrelid, A.attnum ) AS COMMENT, 0 AS data_scale,\n" + "(CASE WHEN ( SELECT COUNT(*) FROM pg_constraint WHERE conrelid = a.attrelid AND conkey[1]= attnum AND contype = 'p' ) > 0 THEN\n" + " 'PRI' ELSE '' \n" + " END ) AS column_key\n" + "FROM\n" + "\tpg_class AS C,\n" + "\tpg_attribute AS A,\n" + "\tpg_tables AS B\n" + "WHERE A.attrelid = C.oid\n" + " and C.relname=B.tablename\n" + " AND A.attnum > 0\n" + " AND B.schemaname = 'public' and c.relname like :tablename"; public static final String ORACLE_QUERY_COLUMNS = new StringBuilder("select t1.*, ucc.constraint_name, uc.constraint_type column_key from (") .append("select c.table_name, c.column_name, c.data_type, c.data_length, c.data_precision, c.data_scale, c.nullable, c.column_id, s.comments ") .append("from user_tab_columns c, user_col_comments s ") .append("where c.table_name like :tablename and c.table_name = s.table_name and c.column_name = s.column_name order by c.column_id") .append(") t1 ") .append("left join user_cons_columns ucc on ucc.table_name=t1.table_name and ucc.column_name=t1.column_name ") .append("left join user_constraints uc on uc.constraint_name=ucc.constraint_name").toString(); }