我正在使用APACHE DERBY数据库,并将我的数据库交互基于EntityManager,我不想使用JDBC类来构建查询来更改我的表名(我只需要为每个新的名称添加一个前缀)用户到应用程序,但具有相同的表结构),例如:
//em stands for EntityManager object
Query tableNamesQuery= em.createNamedQuery("RENAME TABLE SCHEMA.EMP_ACT TO EMPLOYEE_ACT");
em.executeUpdate();
// ... rest of the function's work
// The command works from the database command prompt but i don't know how to use it in a program
//Or as i know you can't change system tables data, but here's the code
Query tableNamesQuery= em.createNamedQuery("UPDATE SYS.SYSTABLES SET TABLENAME='NEW_TABLE_NAME' WHERE TABLETYPE='T'");
em.executeUpdate();
// ... rest of the function's work
我的问题是:
答案 0 :(得分:0)
我认为您正在寻找RENAME TABLE语句:http://db.apache.org/derby/docs/10.10/ref/rrefsqljrenametablestatement.html
不要只针对系统目录发布更新语句,否则会损坏您的数据库。