SqlKingbaseESEnum.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package jnpf.database.sql.enums;
  2. import jnpf.database.enums.DbAliasEnum;
  3. import jnpf.database.enums.ParamEnum;
  4. import jnpf.database.source.DbBase;
  5. import jnpf.database.sql.enums.base.SqlFrameBase;
  6. import jnpf.database.sql.model.DbStruct;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Getter;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * 金仓 SQL语句模板
  13. *
  14. * @author JNPF开发平台组 YanYu
  15. * @version V3.3
  16. * @copyright 引迈信息技术有限公司
  17. * @date 2022/3/17
  18. */
  19. @Getter
  20. @AllArgsConstructor
  21. public enum SqlKingbaseESEnum implements SqlFrameBase {
  22. /* =============================== 系统语句 ==================================== */
  23. FIELDS(
  24. SqlPostgreSQLEnum.FIELDS.getSqlFrame()
  25. ){
  26. @Override
  27. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  28. SqlPostgreSQLEnum.FIELDS.setStructParams(table, dbStruct, list);
  29. }
  30. },
  31. TABLES(
  32. "SELECT DISTINCT t.TABLE_NAME AS " + DbAliasEnum.TABLE_NAME.getAlias() + ",c.DESCRIPTION AS " + DbAliasEnum.TABLE_COMMENT.getAlias() + ", 0 AS " + DbAliasEnum.TABLE_SUM.getAlias() + " FROM\n" +
  33. "information_schema.TABLES AS t\n" +
  34. "LEFT JOIN\n" +
  35. "(SELECT * FROM PG_DESCRIPTION WHERE OBJSUBID = 0)AS c\n" +
  36. "ON\n" +
  37. "TABLE_NAME::REGCLASS::OID = C.OBJOID\n"
  38. + "WHERE\n" +
  39. " TABLE_SCHEMA = " + ParamEnum.DB_SCHEMA.getParamSign()
  40. ){
  41. @Override
  42. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  43. list.add(dbStruct.getKingBaseDbSchema());
  44. }
  45. },
  46. TABLESANDVIEW(
  47. "SELECT t.table_name AS " + DbAliasEnum.TABLE_NAME.getAlias() +
  48. ",c.DESCRIPTION AS " + DbAliasEnum.TABLE_COMMENT.getAlias() +
  49. ",t.table_type AS " + DbAliasEnum.TABLE_TYPE.getAlias() +
  50. "\n FROM information_schema.TABLES\n" +
  51. "\tAS T LEFT JOIN " +
  52. "(SELECT * FROM PG_DESCRIPTION WHERE OBJSUBID = 0)AS c\n" +
  53. "ON\n" +
  54. "TABLE_NAME::REGCLASS::OID = C.OBJOID\n" +
  55. "WHERE\n" +
  56. "\tTABLE_SCHEMA = " + ParamEnum.DB_SCHEMA.getParamSign()
  57. ){
  58. @Override
  59. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  60. list.add(dbStruct.getKingBaseDbSchema());
  61. }
  62. },
  63. SqlKingbaseESEnum(
  64. "SELECT t.TABLE_NAME AS " + DbAliasEnum.TABLE_NAME.getAlias() + ",c.DESCRIPTION AS " + DbAliasEnum.TABLE_COMMENT.getAlias() + ", 0 AS " + DbAliasEnum.TABLE_SUM.getAlias() + " FROM\n" +
  65. "information_schema.TABLES AS t\n" +
  66. "LEFT JOIN\n" +
  67. "(SELECT * FROM PG_DESCRIPTION WHERE OBJSUBID = 0)AS c\n" +
  68. "ON\n" +
  69. "TABLE_NAME::REGCLASS::OID = C.OBJOID\n"
  70. + "WHERE\n" +
  71. " TABLE_SCHEMA = " + ParamEnum.DB_SCHEMA.getParamSign()
  72. ){
  73. @Override
  74. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  75. list.add(dbStruct.getKingBaseDbSchema());
  76. }
  77. },
  78. TABLE(
  79. TABLES.sqlFrame + " AND t.TABLE_NAME = " + ParamEnum.TABLE.getParamSign()
  80. ){
  81. @Override
  82. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  83. list.add(dbStruct.getKingBaseDbSchema());
  84. list.add(table);
  85. }
  86. },
  87. EXISTS_TABLE(
  88. "SELECT COUNT (*) AS TOTAL FROM (" +
  89. "SELECT t.TABLE_NAME AS " + DbAliasEnum.TABLE_NAME.getAlias() + " FROM\n" +
  90. "information_schema.TABLES AS t WHERE TABLE_SCHEMA = " + ParamEnum.DB_SCHEMA.getParamSign() +
  91. " and t.TABLE_NAME = " + ParamEnum.TABLE.getParamSign()
  92. + ") AS COUNT_TAB"
  93. ){
  94. @Override
  95. public void setStructParams(String table, DbStruct dbStruct, List<String> list) {
  96. list.add(dbStruct.getKingBaseDbSchema());
  97. list.add(table);
  98. }
  99. },
  100. /**
  101. * 建库
  102. */
  103. CREATE_DATABASE(
  104. "CREATE DATABASE WITH owner=\"{database}\" "
  105. ),
  106. DROP_DATABASE(
  107. "DROP DATABASE \"{database}\""
  108. ),
  109. CREATE_SCHEMA(
  110. "CREATE SCHEMA AUTHORIZATION \"{schema}\""
  111. ),
  112. DROP_SCHEMA(
  113. "DROP SCHEMA \"{schema}\" CASCADE;"
  114. ),
  115. /*==================== 操作表 ======================*/
  116. DROP(
  117. "DROP TABLE {table}"
  118. ),
  119. DROP_TABLE(
  120. SqlPostgreSQLEnum.DROP_TABLE
  121. ),
  122. COMMENT_COLUMN(
  123. SqlPostgreSQLEnum.COMMENT_COLUMN
  124. ),
  125. COMMENT_TABLE(
  126. SqlPostgreSQLEnum.COMMENT_TABLE
  127. ),
  128. CREATE(
  129. SqlPostgreSQLEnum.CREATE
  130. ),
  131. /*=============================== ALTER ====================================*/
  132. CREATE_TABLE(SqlPostgreSQLEnum.CREATE_TABLE.getSqlFrame()){
  133. @Override
  134. public String createIncrement(String sqlFrame, Map<String, String> paramsMap) {
  135. return SqlPostgreSQLEnum.CREATE_TABLE.createIncrement(sqlFrame, paramsMap);
  136. }
  137. },
  138. ALTER_DROP(
  139. "ALTER TABLE 《schema》.{table} DROP COLUMN {column}"
  140. ),
  141. /**
  142. * 添加字段
  143. */
  144. ALTER_ADD(
  145. "ALTER TABLE 《schema》.{table} ADD COLUMN {column} {dataType}"
  146. ),
  147. /**
  148. * 修改字段
  149. */
  150. ALTER_TYPE(
  151. "ALTER TABLE 《schema》.{table} ALTER COLUMN {column} TYPE {dataType}"
  152. ),
  153. /**
  154. * 修改: 表名
  155. */
  156. RE_TABLE_NAME(
  157. SqlPostgreSQLEnum.RE_TABLE_NAME
  158. ),
  159. /*=============================== ALTER ====================================*/
  160. INSERT(
  161. "INSERT INTO 《schema》.{table} (【{column},】) VALUES (【{value},】)"
  162. ),
  163. ;
  164. // ALTER TABLE flow_taskoperator DROP COLUMN F_DraftData
  165. private final String dbEncode = DbBase.KINGBASE_ES;
  166. private String sqlFrame;
  167. SqlKingbaseESEnum(SqlFrameBase sqlEnum){
  168. this.sqlFrame = sqlEnum.getSqlFrame();
  169. }
  170. }