如何删除DB2中存在的表空间

如何删除DB2中存在的表空间,db2,zos,Db2,Zos,我一直在尝试删除一个表空间,如果它存在于DB2(Z/OS)中,如果它存在的话。这样做的目的是能够有一个脚本来创建新的dev或替换现有的dev数据库 我一直在尝试这样的事情: BEGIN IF (exists (SELECT * FROM SYSIBM.SYSTABLESPACES WHERE TBSPACE = 'SGE')) THEN DROP TABLESPACE "SGE"; END IF; END @ 但它似乎并没有放弃(至少在DataStudio4

我一直在尝试删除一个表空间,如果它存在于DB2(Z/OS)中,如果它存在的话。这样做的目的是能够有一个脚本来创建新的dev或替换现有的dev数据库

我一直在尝试这样的事情:

BEGIN 
    IF (exists (SELECT * FROM SYSIBM.SYSTABLESPACES WHERE TBSPACE = 'SGE')) THEN 
        DROP TABLESPACE "SGE";
    END IF;
END @
但它似乎并没有放弃
(至少在DataStudio4.1上是这样)。还有什么我应该做的吗


提前感谢

穆斯塔乔的评论是正确的。我留下了这样的代码,它为我工作:

BEGIN 
    IF (exists (SELECT * FROM SYSIBM.SYSTABLESPACES WHERE TBSPACE = 'SGE')) THEN 
        EXECUTE IMMEDIATE 'DROP TABLESPACE "SGE"';
    END IF;
END @

我也可以对其他对象(如模式等)执行相同的操作。我只需要根据要删除的内容更改exists条件。

尝试动态执行语句:
EXECUTE IMMEDIATE'DROP TABLESPACE“SGE”'
您是对的,我应该事先考虑EXECUTE命令。谢谢!