当前位置:  数据库>oracle

Oracle的动态SQL和动态游标举例

    来源: 互联网  发布时间:2017-04-24

    本文导语: --动态sql和动态游标 declare   cnt number;  begin   execute immediate   'select count(*) from emp'   into cnt;   dbms_output.put_line(cnt); end; --创建存储过程执行插入语句 create or replace procedure myproc11 (empid in varchar2,empname in varchar2) is   sql_str va...

--动态sql和动态游标
declare
  cnt number
begin
  execute immediate
  'select count(*) from emp'
  into cnt;
  dbms_output.put_line(cnt);
end;







--创建存储过程执行插入语句
create or replace procedure myproc11
(empid in varchar2,empname in varchar2)
is
  sql_java开源软件 iis7站长之家 varchar(200):='insert into emp values(:a,:b)';    
begin
  execute immediate sql_str using empid,empname;
  commit;
end;








--本过程有两个参数第一个表示查询类型:0-精确查询 1-模糊查询
--第二个参数表示查询条件
create or replace procedure myproc12
(query_type in number,empname in varchar2)
is
  sql_str varchar(200):='select * from emp ';
  cur pck1.myrefcur;
  e emp%rowtype;   
begin
 
  if query_type=0 then
    sql_str:=sql_str||'where emp_name=:1';
  else
     sql_str:=sql_str||'where emp_name like ''%''||:1||''%''';
  end if;
  dbms_output.put_line(sql_str);
  open cur for sql_str using empname;
 
  loop
   fetch cur into e;
   exit when cur%notfound;
   dbms_output.put_line(e.emp_id||','||e.emp_name);
  end loop;
  close cur;
end;
























--按姓名模糊查询记录总数
create or replace procedure myproc20
(ename in varchar2)
is
  cnt number; 
begin
  execute immediate
  'select count(*) from emp where emp_name like ''%''||:n||''%'''
  into cnt using ename;
 
  dbms_output.put_line(cnt);
end;










更多Oracle相关信息见 专题页面        


    
 
 

您可能感兴趣的文章:

  • 用Oracle动态性能视图采集查询调优数
  • Oracle动态生成查询交叉表
  • 关键字: oracle,存储过程,数据库,查询,动态sql包,数组,参传,jdbc 1
  • Oracle 9i数据库中动态重配置深入分析
  • 在Oracle PL/SQL中游标声明中表名动态变化的方法
  • Oracle组件实现动态Web数据库
  • oracle生成动态前缀且自增号码的函数分享
  • Oracle过程中执行动态SQL或DDL语句
  • 如何用不算很熟练的jsp,oracle,javascript,html,css等建设动态网站,要网页打开速度快、易于日常维护更新?
  • 基于Oracle的高性能动态SQL程序开发
  • Oracle静态注册与动态注册详解
  • Oracle动态交叉表生成
  • Oracle实现动态SQL的拼装要领
  • oracle中动态SQL使用详细介绍
  • oracle 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)
  • Oracle9i 动态SGA,PGA特性探索
  • oracle的最大游标数问题
  • Oracle事务!使用游标提交过程
  • Oracle 数据 使用游标
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • jsp访问oracle超出打开游标的最大数是什么原因?急,在线给分。
  • oracle 声明游标(不具备字段)规则应用
  • Oracle存储过程返回游标实例详解
  • oracle 在一个存储过程中调用另一个返回游标的存储过程
  • Oracle 游标使用总结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c#中oracle to_date函数用法举例
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,