我想编写db2命令,找出第一个数据库是否存在,如果存在该数据库,则删除该数据库并创建一个新的更新数据库。
请帮助相同
答案 0 :(得分:0)
DB2中没有支持该指令的命令或语言。当给定名称作为数据库的别名(而不是数据库的真实名称)存在时,您必须定义要执行的操作,删除别名?重命名吗?
脚本如下所示:
答案 1 :(得分:0)
在db2 LUW版本表SYSCAT.tables中的db2 for zos表SYSIBM.SYSDATABASE或SYSIBM.SYSTABLES中的第一个查询系统表。如果查询中有行,则存在数据库。
答案 2 :(得分:0)
在LUW中,您可以执行以下操作:
--#SET TERMINATOR @
BEGIN
DECLARE TABLE_NOT_FOUND CONDITION FOR SQLSTATE '42704';
DECLARE CONTINUE HANDLER FOR TABLE_NOT_FOUND;
EXECUTE IMMEDIATE 'DROP TABLE myschema.mytable';
END @
您可以将此代码段转换为接收架构名称和表名称的函数。
答案 3 :(得分:-1)
如果存在,则调用此函数将允许您删除表:
CALL FNC.DROP_IF_EXISTS('TABLENAME')!