系统表 | 含义 | 字段 | 含义 | 说明 |
KSQL_USERTABLES | 表查询表 | KSQL_TABNAME | 表名 | |
KSQL_USERCOLUMNS | 列查询表 | KSQL_COL_NAME | 列名称 | |
KSQL_COL_TABNAME | 表名称 | |||
KSQL_COL_NULLABLE | 是否可以为空 | Y|N (DB2, ORACLE) 1|0 (SQL SERVER) | ||
KSQL_COL_DEFAULT | 列的默认值字段 | |||
KSQL_INDEXES | 索引查询表 | KSQL_INDNAME 索引名称 | ||
KSQL_CONSTRAINTS | 约束查询表 | KSQL_CONS_NAME | 约束名称 | |
KSQL_CONS_TABNAME | 约束所在的表名称 | |||
KSQL_CONS_TYPE | 约束类型 | KSQL_CT_F: FOREIGN KEY | ||
KSQL_CT_U: UNIQUE KEY | ||||
KSQL_CT_C: CHECK | ||||
KSQL_CT_P: PRIMARY KEY |
示例:
--创建表时,先进行表是否存在的判断
If not exists (select * from KSQL_USERTABLES where KSQL_TABNAME='T_EC_AdjustReason')
Create Table T_EC_AdjustReason (......);
--给表添加列时,先进行该列是否存在的判断
IF not exists(select 1 from KSQL_USERCOLUMNS where KSQL_COL_NAME='FXXX' and KSQL_COL_TABNAME='T_XXXX')
Alter table T_XXXX Add FXXX varchar(44);
--创建索引时,先进行索引是否存在的判断
IF NOT EXISTS(SELECT * FROM KSQL_INDEXES WHERE KSQL_INDNAME='IX_EC_WbsProject')
create index IX_EC_WbsProject on T_EC_BaseWBS(FProjectID);
--查询约束:
SELECT
KSQL_CONS_NAME,
KSQL_CONS_TABNAME
FROM KSQL_CONSTRAINTS
WHERE KSQL_CONS_TYPE='KSQL_CT_F'
OR KSQL_CONS_TYPE='KSQL_CT_U'
OR KSQL_CONS_TYPE='KSQL_CT_C'
OR KSQL_CONS_TYPE='KSQL_CT_P'
备注:对于EAS进行二次开发之后,一般都需要二次开发脚本的整理,包括建表的脚本、加字段的脚本、初始数据的脚本、菜单的脚本。这些脚本都应该按照一定的规则来创建,具体的规则可以参考KSQL相关文档,但大的原则是:先判断再执行。