java - 删除 Derby DB 中的所有表

标签 java sql jdbc derby

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

最佳答案

感谢 the blog :

第 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';

第 2 步:

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

关于java - 删除 Derby DB 中的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/171727/

相关文章:

java - 使用不同的对象作为参数调用相同的方法

java - 抽象类中的静态方法?

mysql - 原始mysqldump文件导入: Cannot add foreign key constraint?

performance - oracle.jdbc.xa.client.OracleXADataSource 和 oracle.jdbc.pool.OracleDataSource 有什么区别

java - Persistence.xml 配置不正确

java - Collections.synchonizedMap 和同步

Java-错误 :cannot find symbol

sql - unaccent() 防止在 Postgres 中使用索引

mysql - 使用 mysqldump 跳过某些列 "fields"

sql-server - JDBC 连接挂起