博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 存储过程使用动态sql
阅读量:5019 次
发布时间:2019-06-12

本文共 749 字,大约阅读时间需要 2 分钟。

Oracle存储过程使用动态SQL 有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者。

DDL和DML (注意DDL中可以用拼接字符串的方法用来create table或drop table,在DML中,类似于insert则不可以直接用execute immediate中直接拼接的方法,必须用using传递参数)

/*** DDL ***/  create or replace procedure CREATE_TABLE(CREATE_SQL VARCHAR2) isbegin  EXECUTE IMMEDIATE CREATE_SQL; -- 'create table temp_table(table_name varchar2(50))'end CREATE_TABLE;/*** DML ***/  declare      v_1 varchar2(8);      v_2 varchar2(10);      str varchar2(50);   begin      v_1:='测试';   --这里的v_1,v_2可以是直接存储过程中传过来的参数   v_2:='北京';      str := 'INSERT INTO test (name ,address) VALUES (:1, :2)';      EXECUTE IMMEDIATE str USING v_1, v_2;      commit;   end;

转自:https://www.cnblogs.com/zmlctt/p/3750198.html

转载于:https://www.cnblogs.com/BobXie85/p/9829910.html

你可能感兴趣的文章
08.存储Cinder→5.场景学习→07.Snapshot Volume
查看>>
@RequestParam Map<String, Object> paramMap
查看>>
c#动态加载卸载DLL的方法
查看>>
FireFox新标签页打开搜索和书签
查看>>
3. Longest Substring Without Repeating Characters
查看>>
10. Regular Expression Matching
查看>>
unit11&7&8
查看>>
oracle自带总页数分页sql
查看>>
【bzoj2002】弹飞绵羊
查看>>
react-native使用蚂蚁金服的antd-mobile组件库教程
查看>>
Oracle错误代码大全
查看>>
可遇不可求的Question之MySQL系统变量interactive_timeout 与 wait_timeout 篇
查看>>
【转】自九度论坛的一个帖子
查看>>
JavaScript表单验证
查看>>
JTextField限制 输入数字 【转】
查看>>
两个线程交替打印1-100
查看>>
初学Numpy(二)
查看>>
Spring Cacheable 注解不缓存null值
查看>>
kettle闪退问题
查看>>
replace to
查看>>