Oracle 调用存储过程执行动态SQL语句(无参)
今天想在程序拼接好执行修改语句(添加、更新、删除),调用数据库存储过程执行
首先,我们来编写这个存储过程
/* * 执行存储过程 * 输入参数:执行SQL * 输出参数:返回受影响行数 */ create or replace procedure Proc_ExecSql ( --定义输入、输出参数-- strSql in varchar, strCount out integer ) as --定义变量-- begin --执行动态SQL execute immediate strSql; --返回受影响行数 strCount:=sql%rowcount; dbms_output.put_line('执行返回结果:'||strCount ); commit; end;
调用存储过程实例:
调用存储过程方法(公司内部)
/// <summary> /// 执行存储过程 /// </summary> /// <param name="rkDb">数据库连接</param> /// <param name="procName">存储过程名称</param> /// <param name="execSql">执行Sql语句</param> /// <returns></returns> public int ExecSqlByProceducre(IDbContext rkDb,string procName,string execSql) { //创建存储过程对象 IStoredProcedureBuilder sb = rkDb.StoredProcedure(procName); //添加参数到对象中 sb.Parameter("STRSQL", execSql, DataTypes.String); //输入参数 sb.ParameterOut("STRCOUNT", DataTypes.Int32); //输出参数 //执行存储过程 sb.Execute(); //获取存储过程中输出参数的值 return (int)sb.ParameterValue<dynamic>("STRCOUNT"); }
调用执行前
调用执行测试
declare strCount integer; begin --调用存储过程(名称:一次性使用药液转移过滤器 --> 一次性使用药液) --- PROC_EXECSQL('update DXC_GOODS set NAME=''一次性使用药液'' where MID=164600',strCount); end;
调用执行后
平时多记记,到用时才能看看,记录你的进步,分享你的成果
分类:
Oracle(数据库)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
2015-12-28 运行QQ出现initialization failure 0x0000000c错误和浏览器上不了网