如何在 JDBC 上执行这条 Oracle 语句

2024-01-06

我在使用 JDBC 准备好的语句执行以下操作时遇到问题:

CREATE OR REPLACE TRIGGER Time_trg BEFORE INSERT ON Time FOR EACH ROW 
BEGIN 
  SELECT Time_seq.NEXTVAL INTO :new.id FROM dual; 
END;

代码:

try {
   PreparedStatement statement = connection.prepareStatement( sql );
   preparedStatement.executeUpdate();
} finally {
   statement.close();
}

我收到此错误:

java.sql.SQLException: Missing IN or OUT parameter at index:: 1

我正在开发一个与数据库无关的解决方案,所以我需要一些可移植的东西。那么oracle的问题是什么?


不需要编写我们自己的存储过程来执行此操作。 Oracle提供了一个内置的存储过程我们可以使用:DBMS_UTILITY.EXEC_DDL_STATEMENT https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_util.htm#ARPLS73238:

 DBMS_UTILITY.EXEC_DDL_STATEMENT('create table t1 (id number)');

事实上这比已接受答案中建议的解决方法 https://stackoverflow.com/a/26080867/146325因为它不允许执行 DML,因此可以防止 SQL 注入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JDBC 上执行这条 Oracle 语句 的相关文章

随机推荐

  • PHP - 检查两个数组是否相等

    我想检查两个数组是否相等 我的意思是 相同的大小 相同的索引 相同的值 我怎样才能做到这一点 Using 根据用户的建议 我希望打印以下内容enter如果数组中至少有一个元素不同 但事实上并非如此 if POST atlOriginal o
  • Delphi 通用 TInterfaceList 可能吗?

    在Delphi 2010中 我定义了一个通用的TInterfaceList 如下所示 type TInterfaceList
  • ActiveAdmin 如何添加没有模型的自定义控制器[重复]

    这个问题在这里已经有答案了 可能的重复 将页面添加到活动管理 https stackoverflow com questions 7639978 add page to active admin 我目前正在寻找一种解决方案 用于将没有模型的
  • Microsoft .NET 4.0 完整框架和客户端配置文件之间的差异

    Microsoft NET Framework 4 0 完整安装程序 32 位和 64 位 为 48 1 MB 客户端配置文件安装程序为 41 0 MB 提取的安装文件分别为 237 MB 和 194 MB 安装后分别为 537 MB 和
  • D3.js - 是否可以在力导向图和节点链接树之间制作动画?

    我正在使用D3 js库并查看力导向图演示 http mbostock github com d3 ex force html http mbostock github com d3 ex force html 我也在查看节点链接树 http
  • 如何在 sitecore 中确定给定项目是否为起始项目?

    在配置文件中 我们为元素中的每个网站设置启动项 例如 startItem Home 我们还可以在代码中选择启动项 但我想问的是如何确定任何选定的项目是否是起始项目 至少我们可以选择开始项目并与给定项目进行比较 但我认为这不是优雅的代码 我们
  • SendMessage消息号的解释?

    我已经成功地使用 Windows SendMessage 方法来帮助我在文本编辑器中执行各种操作 但每次我只是复制和粘贴其他人建议的代码 而且我并不真正知道它的含义 总是有一个神秘的消息号作为参数 我如何知道这些代码的含义 以便我能够真正理
  • 需要电子邮件地址域 jQuery 验证 [重复]

    这个问题在这里已经有答案了 我正在使用以下代码 与jQuery 验证插件 http jqueryvalidation org 验证电子邮件地址 schedule tour form validate rules Email required
  • MongoDb 近/geonear 可变距离查询

    我想执行一个查询 其中距离是集合中的动态字段 集合中的条目示例 name myName location lat 10 lng 20 maximumDistance 10 name myName2 location lat 20 lng 2
  • Polymer 1.x:纸张对话框模式出现在应用程序标题布局后面

    我想将一个子元素 子元素 放入app header layout 子元素包含一个paper dialog modal 当我打开模式时 我希望看到对话框出现在front的背景 相反 会出现对话框behind背景 如何让模式对话框出现在背景前面
  • 使用selenium在多个浏览器上同时运行python SCRIPT

    我想使用 selenium 在多个浏览器上运行我的脚本 到目前为止 我可以通过一次打开一个浏览器来执行该操作 例如 注册亚马逊 我希望能够同时向亚马逊注册两个用户 这是我现在拥有的代码 import time from selenium i
  • cin.get() 循环

    我试图从标准输入读取 第一行是我要阅读的行数 我接下来读到的行将再次打印 这是代码 include
  • Print/Debug.Log 未在 Unity 控制台上显示输出

    I am trying to print a simple statement using C on Unity Console but i don t know why it is not printing 如果打印有not work D
  • 为 UWP 构建 OpenCV

    我目前正在努力为 UWP 构建 OpenCV 我已经用谷歌搜索了很多并发现微软的 OpenCV Github 存储库 https github com Microsoft opencv tree vs2015 samples从技术上讲 这应
  • 如何在 swift 中声明一个可在 Objective C 中使用的常量

    如果我将 swift 常数声明为全局常数 like let a 123 but the a无法在以下位置找到目标c 怎么解决这个问题呢 SWIFT代码 public class MyClass NSObject public static
  • C++ HDF5 找不到 -lhdf5d

    情况 我想创建一个程序来读取一些内容 hdf5 file 我做了什么 没什么 但添加hdf5 lib到项目 Problem 我收到两个错误 当我尝试运行该程序时 cannot find lhdf5d error ld returned 1
  • SELECT 非规范化列到单独的记录中?

    我正在使用 SQL 一点 这样如果我在工作面试中被问到 我就不会完全不知道它 我的朋友最近在面试时被问到以下问题 他答不出来 我问了工作中熟悉 SQL 的人 他也不知道 你们能帮我回答这个问题 然后解释一下它是如何工作的吗 请 问题 数据库
  • “ccache”配置

    我有一个与 ccache 配置相关的问题 在我们的开发环境中 我们有数百个使用绝对路径构建对象的 make 文件 我想加快进程并使用 ccache 不幸的是 当从不同位置编译时 我可以看到缓存未命中 下面是一个例子 简化了源文件放置在不同目
  • Java 数据流编程 API? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 JDBC 上执行这条 Oracle 语句

    我在使用 JDBC 准备好的语句执行以下操作时遇到问题 CREATE OR REPLACE TRIGGER Time trg BEFORE INSERT ON Time FOR EACH ROW BEGIN SELECT Time seq