`

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

阅读更多
--动态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 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动态SQL之本地动态SQL的使用.pdf

    Oracle数据库系统提供了对动态SQL的支持,这是一种在程序运行时构建和执行SQL语句的编程技术,对于实现数据库操作的灵活性具有重要作用。本文将探讨Oracle本地动态SQL的使用方法和技巧。 动态SQL的使用场景广泛,它...

    Oracle游标语法总结.doc

    游标是 Oracle 中一个非常重要的概念,它允许开发者高效地访问和处理数据库中的数据。 一、Oracle 游标概念 游标是指用于查询数据库、获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果...

    数据库oracle中PLSQL语句简介及使用方法的举例说明

    Oracle数据库中的PL/SQL(Procedural Language/Structured Query Language)是一种强大的编程语言,它将SQL的查询功能与过程式编程语言的控制结构相结合,为数据库管理提供了更高级别的抽象和控制。PL/SQL是Oracle...

    oracle_sql 优化-举例.pdf

    Oracle SQL 优化是一个关键的数据库管理任务,它旨在提高查询性能、减少资源消耗,并提升整体系统效率。在Oracle数据库中,SQL查询的优化涉及到多个方面,包括选择正确的表连接顺序、明智地安排WHERE子句的条件、...

    Oracle数据库存储过程技术文档.doc

    2.3 动态SQL语句 21 2.4 例外处理 22 2.5 一个完整的PL/SQL实例 24 第三章 oracle存储过程讨论 25 3.1 函数(FUNCTION) 26 3.1.1 用户函数创建,编译,删除 26 3.1.2 参数传递 27 3.2 存储过程 28 3.3 包 29 3.3.1 ...

    Oracle ProC 编程入门.doc

    动态SQL允许在运行时构建和执行SQL语句,游标则允许逐行处理查询结果。异常处理提供了对数据库错误的捕获和处理机制,而PL/SQL块的执行则使得在C程序中使用Oracle的存储过程成为可能。 总的来说,Oracle Pro*C提供...

    关于Oracle9i中游标的应用.pdf

    总之,游标是Oracle数据库编程中的一个重要工具,它允许我们高效地处理结果集中的数据,实现了数据的动态访问和控制。理解和熟练运用游标,对于编写复杂的数据库应用和提高程序性能至关重要。在Oracle9i中,掌握游标...

    Oracle_ProC编程入门

    **Oracle Pro*C**是一种结合了C语言和SQL的编程方式,主要用于开发Oracle数据库应用程序。它将过程化的C语言与非过程化的SQL语言完美结合,使得开发者既能够利用C语言强大的控制结构,又能够充分发挥SQL语言对数据库...

    精通sql结构化查询语句

    以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...

    PL/SQL编程

    此外,PL/SQL还支持一些特殊的SQL语句,如动态SQL语句,这使得开发者能够根据不同的条件构建和执行不同的SQL查询。 #### 1.3 运行PL/SQL程序 运行PL/SQL程序通常有两种方式: 1. **通过Oracle客户端工具**: 如SQL...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

    《Oracle11g宝典》共分19章,第1~4章分别介绍了Oracle11g的下载和安装、SQL*Plus的使用、SQ语言与PL/SQL.程序设计,第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务...

    PL/SQL Developer8.04官网程序_keygen_汉化

    如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要...

    PLSQL程序设计.pdf (清晰版)

    PL/SQL程序通常在Oracle数据库环境中运行,可以通过SQL*Plus、Oracle SQL Developer等工具来编写和执行PL/SQL代码。 #### 二、PL/SQL块结构和组成元素 **2.1 PL/SQL块** PL/SQL的基本单位是块,一个典型的PL/SQL...

    Oracle数据库常用语句实例和经典面试题总结

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富多样,对于数据库管理员和开发人员来说,掌握Oracle SQL语句至关重要。这份资料是关于Oracle数据库常用语句的实例和经典面试题的总结,旨在...

    oracle语法及函数大全[参考].pdf

    Oracle 语法及函数大全是 Oracle 数据库管理系统中使用的语法和函数的集合。了解这些语法和函数是使用 Oracle 数据库的关键。 数据操作 * SELECT 语句:从数据库表中检索数据行和列。 * INSERT 语句:向数据库表...

    oracle学习资料

    第二章 PL/SQL块结构和组成元素 6 §2.1 PL/SQL块 6 §2.2 PL/SQL结构 6 §2.3 标识符 6 §2.4 PL/SQL 变量类型 7 §2.4.1 变量类型 7 §2.4.2 复合类型 9 §2.4.3 使用%ROWTYPE 11 §2.4.4 LOB类型* 11 §2.4.5 ...

    oracle oci

    6. **示例代码**:`oracle oci 举例.pdf`可能会提供一些实际的代码示例,帮助理解如何在C/C++程序中调用oci函数,实现与Oracle数据库的交互。 7. **性能优化**:OCI提供了多种特性来优化数据库访问,例如绑定变量、...

Global site tag (gtag.js) - Google Analytics