java - 在java中使用Prepared Statement创建动态名称表

标签 java sql oracle jdbc

我想在 java for oracle 中创建一个表,同时从用户处获取表的名称或像程序变量一样:

String query= CREATE TABLE ? (ID NUMBER , NAME VARCHAR2(20));
PreparedStatement preStatement = connection.prepareStatement(query );
preStatement.setString(1,tableNAME);

但是我遇到了INVALID TABLE NAME错误;

我怎样才能达到这个目的(通过动态名称创建表)?

非常感谢!

最佳答案

您始终可以将表名连接到字符串(在检查 SQL 注入(inject)的可能性之后)

String query= "CREATE TABLE " + tablename + " (ID NUMBER , NAME VARCHAR2(20))";

关于java - 在java中使用Prepared Statement创建动态名称表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41547694/

相关文章:

sql - 将工作表名称添加为要在 Google 表格中查询的列

sql - 截断时间戳

基于 Oracle 函数的索引

java - 2D 游戏中玩家不动

java - 如果有更短的方法为此任务编写代码,请提供建议和帮助

php - 我从数据库获取数据并在另一个查询中重用它们。重新准备它们是否多余?

sql - Oracle 22 Joins or over is not allowed in a select statement? ORA-01445

java - 在 JavaFX 中拖动未修饰的舞台

java - Android 在退出应用程序时保存复选框状态

mysql - 删除 phpMyAdmin 中的空格并替换为 _