DB2 Rename
来源:互联网 发布:网络本科是什么意思 编辑:程序博客网 时间:2024/06/07 09:56
db2修改表名
db2 在修改表名的时候,表上不能有外键约束,不能被视图引用。。。。。。。。。
--例子
RENAME TABLE TPA_AVMACCOUNTTO TCASH_AVMACCOUNT ;
RENAME TABLE TPA_BOMACCOUNT TO TCASH_BOMACCOUNT ;
RENAME TABLE TPA_CSCTICKET TO TCASH_CSCTICKET ;
RENAME TABLE TPA_HEADINFO TO TCASH_HEADINFO ;
--db2 报了一大堆错误(刚开始有点怕怕的)
在发出 RENAME 语句之前,删除依赖于此表的视图、具体化查询表、触发器、SQL
函数、SQL 方法、检查约束、引用约束或 XSR 对象。对于依赖于此表的视图或具
体化查询表,请查询 SYSCAT.VIEWDEP 并使表与 BSCHEMA 和 BNAME 列匹配。对
于依赖于此表的触发器,请查询 SYSCAT.TRIGDEP 并使表与 BSCHEMA 和 BNAME
列匹配。对于 SQL 函数或 SQL 方法,请查询 SYSCAT.FUNCDEP 并使表与 BSCHEMA
和 BNAME 列匹配。对于表的检查约束,请查询 SYSCAT.CHECKS 并使表与
TABSCHEMA 和 TABBNAME 列匹配。对于依赖于此表的引用约束,请查询
SYSCAT.REFERENCES 并使表与 TABSCHEMA 和 TABNAME 列或者 REFTABSCHEMA 和
REFTABNAME 列匹配。对于为了进行将此表作为目标的分解而启用的 XSR 对象,
请查询 SYSCAT.XSROBJECTDEP 并使表与 BSCHEMA 和 BNAME 列匹配。
--看来限制条件真多,根据错误提示,查看对象的依赖性
select * from SYSCAT.VIEWDEP where bschema='L_SZ_V16' AND BNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
select * from SYSCAT.TRIGDEP where bschema='L_SZ_V16' AND BNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
select * from SYSCAT.FUNCDEP where bschema='L_SZ_V16' AND BNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
SELECT * FROM SYSCAT.CHECKS WHERE TABSCHEMA='L_SZ_V16' AND TABNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
SELECT * FROM SYSCAT.REFERENCES WHERE TABSCHEMA='L_SZ_V16' AND TABNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
SELECT * FROM SYSCAT.REFERENCES WHERE REFTABSCHEMA='L_SZ_V16' AND REFTABNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
SELECT * FROM SYSCAT.XSROBJECTDEP WHERE bschema='L_SZ_V16' AND BNAME IN('TPA_AVMACCOUNT','TPA_BOMACCOUNT','TPA_CSCTICKET','TPA_HEADINFO');
查看后,发现表上有外键约束,其他的都没有
--执行删除外键的sql
ALTER TABLE TPA_AVMACCOUNT DROP FOREIGN KEY FK57641F8FB2FBC862; ALTER TABLE TPA_CSCTICKET DROP FOREIGN KEY FK3505A84597A0F542;
COMMIT;
RENAME TABLE TPA_AVMACCOUNT TO TCASH_AVMACCOUNT ; RENAME TABLE TPA_BOMACCOUNT TO TCASH_BOMACCOUNT ; RENAME TABLE TPA_CSCTICKET TO TCASH_CSCTICKET ; RENAME TABLE TPA_HEADINFO TO TCASH_HEADINFO ;
COMMIT;
--执行创建外键的sql,表名TPA_开头的都修改为 TCASH开头,然后执行。
ALTER TABLE TCASH_CSCTICKET ADD CONSTRAINT FK3505A84597A0F542 FOREIGN KEY (BOMACCOUNT_RECORDID) REFERENCES TCASH_BOMACCOUNT(RECORDID) ON DELETE CASCADE ON UPDATE RESTRICT ENFORCED ENABLE QUERY OPTIMIZATION; ALTER TABLE TCASH_AVMACCOUNT ADD CONSTRAINT FK57641F8FB2FBC862 FOREIGN KEY (HEADINFO_RECORDID) REFERENCES TCASH_HEADINFO(RECORDID) ON DELETE CASCADE ON UPDATE RESTRICT ENFORCED ENABLE QUERY OPTIMIZATION; COMMIT;
- DB2 Rename
- rename
- rename
- rename
- rename
- rename
- rename()
- rename.js
- rename () 函数
- rename.js
- rename命令
- Rename Application
- File rename
- table -- rename
- rename 命令
- rename,copy
- sybase rename
- rename() 解说
- SD卡分析二
- eclipse + jbpm5 + jboss配置
- SD卡分析三
- 悲观锁 和 乐观锁
- 主版本 51 比 50 新,此编译 器支持最新的主版本。
- DB2 Rename
- 从1到n的正数中1出现的次数
- 快速计算整数的二进制表示法中1的个数(编程珠玑9章课后习题7)
- LeetCode —— Longest Consecutive Sequence
- jdk 环境变量配置(需要手动配置,按照jdk之后不自动配置!)
- Android 左右侧滑组件
- Java网络编程
- 数学专项game_theory:UVa 12293
- mysql 性能监控 实用工具