langping86

stay hungry,stay foolish.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

系统表 含义 字段 含义 说明
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相关文档,但大的原则是:先判断再执行

 

posted on 2012-01-12 11:22  masb  阅读(2094)  评论(0编辑  收藏  举报