shikeying
2024-02-23 1d6e7763f4a30272cc0818ea12f83697b7375c45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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();
}