oracle存储过程中动态SQL Insert Into 的问题

TechnoFantasy TechnoFantasy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
对于varchar类型数据的插入,一般的Insert Into只需要:
INSERT INTO TBNAME (VARC1,VARC2) VALUES ('s1', 's2')
就可以了,但是动态SQL中应该怎么操作,我的存储过程是这样的:


CREATE or replace procedure proInsertCustInfo(
v_Names in VARCHAR2,
v_Values in VARCHAR2) IS
v_Cursor NUMBER;
v_CreateString VARCHAR2(500);
vID number;
begin
v_Cursor := DBMS_SQL.OPEN_CURSOR;
v_CreateString := 'INSERT INTO CSCUSTOM ( CUSTID, CUSTSTATDATE, ' || v_Names || ')' || ' VALUES (custom_id_seq.nextval, sysdate, ' || v_Values || ')';
DBMS_SQL.PARSE(v_Cursor, v_CreateString, DBMS_SQL.NATIVE);
DBMS_SQL.CLOSE_CURSOR(v_Cursor);

commit work;
end proInsertCustInfo;

我现在需要在java中调用,

附java代码:

Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection ("jdbc:oracle:thin:@172.18.8.4:1521:ORCL", "scott","tiger");
CallableStatement procnone = conn.prepareCall ("begin proInsertCustInfo(?,?,?); end;");
procnone.setString(1, m_Names);
procnone.setString(2, m_Values);

procnone.execute();


上面的存储过程是正确的,我将我的Java代码中的m_Names和m_Values直接copy到sql*plus work sheet中执行insert into操作完全正确,在sql*plus中执行存储过程也没有问题,但是无法插入数据,现在的问题据我看是在v_Values上面。
假设我要传 3个参数(全是varchar2型):值分别是:hello, you, are
正常的sql是insert into CSCUSTOM (a,b,c) VALUES ('HELLO' ,'you', 'are')
在上面的代码中应该如何做呢,就是v_Values在java中应该如何赋值呢。
...全文

相关推荐

29Linux基础命令详解——用户管理.docx

29Linux基础命令详解——用户管理

云计算练习生

科技服务机构如何通过数据分析增强服务竞争力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

源码论文专家

车辆缺陷分割数据集4000张json格式.zip

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):4000 标注数量(json文件个数):4000 标注类别数:1 标注类别名称:["defect"] 每个类别标注的框数: defect count = 8740 总框数:8740 使用标注工具:labelme=5.5.0 所在仓库:firc-dataset 图片分辨率:640x640 标注规则:对类别进行画多边形框polygon 重要说明:可以将数据集用labelme打开编辑,json数据集需自己转成mask或者yolo格式或者coco格式作语义分割或者实例分割 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证

不会仰游的河马君

高校如何利用技术转移服务转化科研成果并提升影响力?.docx

高校如何利用技术转移服务转化科研成果并提升影响力?

BIZKEEN
评论 7
收藏 已收藏
分享
返回顶部
TechnoFantasy
Sybase 2,598 成员 25,608 内容