如何使用JDBC删除Apache Derby DB上架构中的所有表?
感谢博客:
运行SQL语句,但不要忘记在下面的2次出现中使用您的模式名称替换模式名称"APP":
SELECT 'ALTER TABLE '||S.SCHEMANAME||'.'||T.TABLENAME||' DROP CONSTRAINT '||C.CONSTRAINTNAME||';' FROM SYS.SYSCONSTRAINTS C, SYS.SYSSCHEMAS S, SYS.SYSTABLES T WHERE C.SCHEMAID = S.SCHEMAID AND C.TABLEID = T.TABLEID AND S.SCHEMANAME = 'APP' UNION SELECT 'DROP TABLE ' || schemaname ||'.' || tablename || ';' FROM SYS.SYSTABLES INNER JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID = SYS.SYSSCHEMAS.SCHEMAID where schemaname='APP';
上面执行的结果是一组SQL语句,将它们复制到SQL编辑器,执行它们,然后删除约束和表.
对于执行此操作的实际代码,请检查Derby分发的Derby测试套件部分中的CleanDatabaseTestSetup.java.