如果表空间存在于 DB2 中,如何删除它

How to delete a tablespace if it exists in DB2

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

我一直在尝试类似的方法:

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

但它似乎没有采用 DROP(至少在 Data Studio 4.1 上)。还有什么我应该做的吗?

提前致谢

mustaccio 的评论是正确的。我留下了这样的代码,它对我有用:

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

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