删除Derby DB中的所有表

Shi*_*iel 14 java sql jdbc derby

如何使用JDBC删除Apache Derby DB上架构中的所有表?

Sym*_*Sym 7

感谢博客:

步骤1:

运行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';
Run Code Online (Sandbox Code Playgroud)

第2步:

上面执行的结果是一组SQL语句,将它们复制到SQL编辑器,执行它们,然后删除约束和表.


Bry*_*ton 5

对于执行此操作的实际代码,请检查Derby分发的Derby测试套件部分中的CleanDatabaseTestSetup.java.