知识大全 Oracle动态SQL返回单条结果和结果集

Posted 类型

篇首语:有时候总感觉别人忽略了自己,想想可能是自己太闲了。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle动态SQL返回单条结果和结果集相关的知识,希望对你有一定的参考价值。

Oracle动态SQL返回单条结果和结果集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   DDL 和 DML

  /*** DDL ***/

  begin

  EXECUTE IMMEDIATE drop table temp_ ;

  EXECUTE IMMEDIATE create table temp_ (name varchar ( )) ;

  end;

  /*** DML ***/

  declare

  v_ varchar ( );

  v_ varchar ( );

  str varchar ( );

  begin

  v_ := 测试人员 ;

  v_ := 北京 ;

  str := INSERT INTO test (name address) VALUES (: : ) ;

  EXECUTE IMMEDIATE str USING v_ v_ ;

  mit;

  end;

   返回单条结果

  declare

  str varchar ( );

  c_ varchar ( );

  r_ test%rowtype;

  begin

  c_ := 测试人员 ;

  str:= select * from test where name=:c WHERE ROWNUM= ;

  execute immediate str into r_ using c_ ;

  DBMS_OUTPUT PUT_LINE(R_ NAME||R_ ADDRESS);

  end ;

   返回结果集

  CREATE OR REPLACE package pkg_test as

  /* 定义ref cursor类型

  不加return类型 为弱类型 允许动态sql查询

  否则为强类型 无法使用动态sql查询;

  */

  type myrctype is ref cursor;

   函数申明

  function get(intID number) return myrctype;

  end pkg_test;

  /

  CREATE OR REPLACE package body pkg_test as

   函数体

  function get(intID number) return myrctype is

  rc myrctype; 定义ref cursor变量

  sqlstr varchar ( );

  begin

  if intID= then

   静态测试 直接用select语句直接返回结果

  open rc for select id name sex address postcode birthday from student;

  else

   动态sql赋值 用:w_id来申明该变量从外部获得

  sqlstr := select id name sex address postcode birthday from student where id=:w_id ;

   动态测试 用sqlstr字符串返回结果 用using关键词传递参数

  open rc for sqlstr using intid;

  end if;

  return rc;

  end get;

  end pkg_test;

cha138/Article/program/Oracle/201311/17186

相关参考

知识大全 使用VB调用Oracle程序包内的存储过程返回结果集

使用VB调用Oracle程序包内的存储过程返回结果集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 oracle如何返回指定行数之间的查询结果

  如何返回指定行数之间的查询结果以实现web记录分页在Oracle中有许多的方法这里仅仅列出了种希望能对大家有所帮助大家可以根据不同需要选择下面的script     )selectwhererow

知识大全 oracle中的游标使用静态游标

  游标是构建在PL/SQL中用来查询数据获取记录集的指针它让开发者一次访问结果集中一行记录  在oracle中提供了两种游标静态游标ref游标  静态游标静态游标是在编译的时候就被确定然后把结果集复

知识大全 数据库查询结果的动态排序

  在公共新闻组中一个经常出现的问题是怎样才能根据传递给存储过程的参数返回一个排序的输出?在一些高水平专家的帮助之下我整理出了这个问题的几种解决方案  一用IFELSE执行预先编写好的查询  对于大多

知识大全 oracle笔记-动态SQL

oracle笔记-动态SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章动态SQL  为

知识大全 oracle中利用merge语句防止重复插入

  由于项目中需要用到批量插入为了防止用户插入重复的数据需要先判断插入的数据是不是已经存在如果存在则忽略这次插入否则插入这条数据刚开始的时候是先用一条SQL语句判断如果返回结果是真(记录已经存在)则忽

知识大全 Oracle数据库编程动态SQL

Oracle数据库编程动态SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  动态SQL  编

知识大全 php执行数据库查询返回json格式数据

  <?php  //需要执行的SQL语句//单条$sql="selectidnamefromtbl_userwhereid=";//多条数据//$sql="selectidnamefromtb

知识大全 oracle游标

  为了处理SQL语句Oracle将在内存中分配一个区域这就是上下文区这个区包含了已经处理完的行数指向被分析语句的指针整个区是查询语句返回的数据行集游标就是指向上下文区句柄或指针  两种游标  一显示

知识大全 关于oracle的查询结果的行列互换

  /*  在实际使用sql工作中总会碰到将某一列的值放到标题中显示就是总说的行列转换或者互换  比如有如下数据:  IDNAME