- 浏览: 890801 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
1.看见很多人调试过程依然使用DBMS_OUTPUT.PUT_LINE进行着输出,或是对oracle procedure返回resultset比较疑惑,下面的例子仅供参考。
- CREATE OR REPLACE PROCEDURE sp_test (
- p_outstr OUT VARCHAR2
- ,p_outint OUT NUMBER
- ,p_ref1 OUT SYS_REFCURSOR
- ,p_ref2 OUT SYS_REFCURSOR
- )
- AS
- BEGIN
- p_outstr := 'abc';
- p_outint := '56789';
- OPEN p_ref1 FOR SELECT ROWNUM*2 AS RN FROM DUAL CONNECT BY ROWNUM<=10;
- OPEN p_ref2 FOR SELECT ROWNUM*2+1 AS RN FROM DUAL CONNECT BY ROWNUM<=10;
- END sp_test;
- /
- 过程已创建。
CREATE OR REPLACE PROCEDURE sp_test ( p_outstr OUT VARCHAR2 ,p_outint OUT NUMBER ,p_ref1 OUT SYS_REFCURSOR ,p_ref2 OUT SYS_REFCURSOR ) AS BEGIN p_outstr := 'abc'; p_outint := '56789'; OPEN p_ref1 FOR SELECT ROWNUM*2 AS RN FROM DUAL CONNECT BY ROWNUM<=10; OPEN p_ref2 FOR SELECT ROWNUM*2+1 AS RN FROM DUAL CONNECT BY ROWNUM<=10; END sp_test; / 过程已创建。
利用print客户端打印,sqlplus下:
- SET AUTOPRINT ON
- VAR p_outstr VARCHAR2(10);
- VAR p_outint NUMBER;
- VAR p_ref1 REFCURSOR;
- VAR p_ref2 REFCURSOR;
SET AUTOPRINT ON VAR p_outstr VARCHAR2(10); VAR p_outint NUMBER; VAR p_ref1 REFCURSOR; VAR p_ref2 REFCURSOR;
- scott@ORCL>EXEC sp_test(:p_outstr,:p_outint,:p_ref1,:p_ref2);
- PL/SQL 过程已成功完成。
- RN
- ----------
- 3
- 5
- 7
- 9
- 11
- 13
- 15
- 17
- 19
- 21
- 23
- 已选择11行。
- RN
- ----------
- 2
- 4
- 6
- 8
- 10
- 12
- 14
- 16
- 18
- 20
- 22
- 已选择11行。
- P_OUTINT
- ----------
- 56789
- P_OUTSTR
- --------------------------------
- abc
scott@ORCL>EXEC sp_test(:p_outstr,:p_outint,:p_ref1,:p_ref2); PL/SQL 过程已成功完成。 RN ---------- 3 5 7 9 11 13 15 17 19 21 23 已选择11行。 RN ---------- 2 4 6 8 10 12 14 16 18 20 22 已选择11行。 P_OUTINT ---------- 56789 P_OUTSTR -------------------------------- abc
也可以在声明输入输出变量之后,依次print p_outstr,...........
2.使用对象类型,同样返回结果集.
- scott@ORCL> CREATE TYPE t_test AS OBJECT (
- 2 id NUMBER
- 3 ,name VARCHAR2(20)
- 4 )
- 5 ;
- 6 /
- 类型已创建。
- scott@ORCL>CREATE TYPE tb_test AS TABLE OF t_test;
- 2 /
- 类型已创建。
- scott@ORCL>CREATE OR REPLACE FUNCTION f_test RETURN tb_test
- 2 AS
- 3 v_ret tb_test:=tb_test();
- 4 BEGIN
- 5 FOR i IN 1..10 LOOP
- 6 v_ret.EXTEND;
- 7 v_ret(i) := t_test(i,'name'||i);
- 8 END LOOP;
- 9 RETURN v_ret;
- 10 END f_test;
- 11 /
- 函数已创建。
- scott@ORCL>select * from table(f_test);
- ID NAME
- ---------- ------------------------------
- 1 name1
- 2 name2
- 3 name3
- 4 name4
- 5 name5
- 6 name6
- 7 name7
- 8 name8
- 9 name9
- 10 name10
- 已选择10行。
scott@ORCL> CREATE TYPE t_test AS OBJECT ( 2 id NUMBER 3 ,name VARCHAR2(20) 4 ) 5 ; 6 / 类型已创建。 scott@ORCL>CREATE TYPE tb_test AS TABLE OF t_test; 2 / 类型已创建。 scott@ORCL>CREATE OR REPLACE FUNCTION f_test RETURN tb_test 2 AS 3 v_ret tb_test:=tb_test(); 4 BEGIN 5 FOR i IN 1..10 LOOP 6 v_ret.EXTEND; 7 v_ret(i) := t_test(i,'name'||i); 8 END LOOP; 9 RETURN v_ret; 10 END f_test; 11 / 函数已创建。 scott@ORCL>select * from table(f_test); ID NAME ---------- ------------------------------ 1 name1 2 name2 3 name3 4 name4 5 name5 6 name6 7 name7 8 name8 9 name9 10 name10 已选择10行。
3. 用SELECT BULK COLLECT INTO取得数据,返回嵌套表的例子。
- scott@ORCL>create table test (id number, name varchar2(20));
- 表已创建。
- scott@ORCL>CREATE TYPE t_test AS OBJECT (
- 2 id NUMBER
- 3 ,name VARCHAR2(20)
- 4 )
- 5 /
- 类型已创建。
- scott@ORCL>;
- scott@ORCL>CREATE TYPE tb_test AS TABLE OF t_test;
- 2 /
- 类型已创建。
- scott@ORCL>CREATE OR REPLACE FUNCTION f_test RETURN tb_test
- 2 AS
- 3 v_ret tb_test:=tb_test();
- 4 BEGIN
- 5 SELECT t_test(id,name)
- 6 BULK COLLECT INTO v_ret
- 7 FROM TEST;
- 8
- 9 RETURN v_ret;
- 10 END f_test;
- 11 /
- 函数已创建。
- scott@ORCL>select * from table(f_test);
- 未选定行
- scott@ORCL>insert into test select rownum,'NAME'||rownum FROM DUAL CONNECT BY RO
- WNUM<=10;
- 已创建11行。
- scott@ORCL>select * from table(f_test);
- ID NAME
- ---------- ------------------------------
- 1 NAME1
- 2 NAME2
- 3 NAME3
- 4 NAME4
- 5 NAME5
- 6 NAME6
- 7 NAME7
- 8 NAME8
- 9 NAME9
- 10 NAME10
- 11 NAME11
- 已选择11行。
http://diegoball.iteye.com/blog/518604
发表评论
文章已被作者锁定,不允许评论。
-
在Oracle查询语句中怎样手动指定索引
2011-09-16 01:08 1240select /*+ index(tablename inde ... -
数据库范式(1NF 2NF 3NF BCNF)详解一
2011-08-28 13:35 4559数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数 ... -
数据库范式(1NF 2NF 3NF BCNF)详解二
2011-08-28 13:32 1345范式应用 我们来逐步搞定一个论坛的数据库,有如下信息: ... -
ORACLE数据库TM(表级)锁小结
2011-08-24 14:32 2218SQL语句 表锁模 ... -
Oracle中NVARCHAR2和VARCHAR2的区别
2011-05-20 10:16 2861Oracle中NVARCHAR2和VARCHAR2的区别 【 ... -
Oracle中connect by prior用法
2011-03-08 17:18 892connect by prior 是结构化 ... -
【总结】oracle恢复误删除数据,解除锁定的等sql语句
2011-03-08 16:55 1078转载请注明出处:http://renjie120.iteye. ... -
授予oracle导入用户表权限
2010-12-13 15:38 1094给用户增加导入数据权 ... -
如何写批处理文件自动将数据导入oracle数据库
2010-12-13 14:30 3298Oracle数据库的自动导入 ... -
如何使用PLSQL Developer从oracle数据库 导入导出数据
2010-12-13 14:26 4120如何使用PLSQL Developer从oracle数据库 导 ... -
oracle内存优化
2010-12-01 21:54 974内存2G的优化策略。 SGA最大大小:1300 -
让sql语句不排序,按照in语句的顺序返回结果
2010-12-01 21:47 1751oracle写法: Select * from we ... -
拯救oracle刚被误删的数据
2010-12-01 21:43 10942.误删除所有记录并且提交更改。SQL>delete f ... -
强制停止oracle正在执行的job
2010-12-01 21:40 1979一:温柔的方法:1、查看所有job;select * from ... -
oracle中connect by prior实现递归查询
2010-12-01 14:15 1160收集的几条在oracle中通过connect by prior ... -
oracle高级查询实例,提升效率
2010-12-01 13:57 956使用Oracle特有的查询语法, 可以达到事半功倍的效果。 ... -
oracle DBA必需掌握的常用命令集锦
2010-12-01 13:39 991第一章:日志管理 1.forcing log swit ... -
Oracle性能优化技巧
2010-12-01 12:21 772今天没事来说说oracle性能优化的技巧。。 1.选用适合的 ... -
alce表空间使用情况查询
2010-12-01 12:16 8651.查询oracle表空间的使用情况 select b.f ... -
几条有用sql
2010-12-01 12:14 613查找数据库中所有字段 以对应的表 select C.colu ...
相关推荐
假设你有一个复杂的存储过程`PROC_A`,它执行特定的业务逻辑并返回一个`sys_refcursor`。后来,你需要创建另一个存储过程`PROC_B`,它不仅需要执行与`PROC_A`相同的逻辑,还需要在一个循环中调用`PROC_A`。这时,有...
在提供的示例中,`add_sal`过程首先更新指定部门的员工工资,然后打开一个`sys_refCursor`,从中选择员工的`empno`, `ename`和`sal`字段。在PL/SQL中调用这个过程时,可以使用变量来接收和处理返回的`sys_refCursor`...
sys_context 函数是 Oracle 提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定 namespace 下的 parameter 值。该函数可以在 SQL 和 PL/SQL 语言中使用。 sys_context 函数的基本语法为:`SYS_...
sys_partition.fex分区表的配置是系统设计和开发过程中的一个关键步骤,需要根据系统的需求和硬件的特性进行仔细的设计和配置,以确保系统的高效运行和稳定性。 sys_partition.fex分区表是A40-T3芯片的分区表配置...
表名是js_sys_area。 jeesite 4.x.x 的全国市区地区编码表,一共3511条数据。表名是js_sys_area。 jeesite 4.x.x 的全国市区地区编码表,一共3511条数据。表名是js_sys_area。 jeesite 4.x.x 的全国市区地区编码表,...
标题中的"adams_sys_template.rar"表明这是一个与Adams(Mechanical Advantage Adams)软件相关的压缩文件,用于创建或保存系统模板。Adams是一款先进的多体动力学仿真软件,广泛应用于机械工程领域,用来预测和分析...
sys_arch是LwIP中的一个关键组件,它负责提供操作系统特定的多任务接口,如互斥锁(mutexes)、信号量(semaphores)以及时间管理等功能。在uCOS这种实时操作系统中,sys_arch的实现需要与uCOS的内核机制紧密集成,...
这里我们关注的是针对A20处理器的`sys_partition.fex`文件,它是一个用于定义和管理设备分区的配置文件。这个文件在2014年6月12日更新到了v1.3版本,是系统分区的重要组成部分。本文将深入探讨`sys_partition.fex`的...
`sys_arch`是LwIP的一个关键组成部分,主要负责为LwIP提供一个通用的操作系统模拟层。通过这个层,LwIP能够与不同类型的硬件和操作系统进行交互,从而实现跨平台的移植性。在`sys_arch`中,主要实现了以下几个方面的...
根据提供的文件信息,以下是对全志V40、全志R40、全志A40 sys_config.fex配置文件的详细知识点说明: 1. sys_config.fex文件结构 sys_config.fex文件是全志芯片平台的配置文件,包含了硬件资源的分配、初始化参数等...
【sys_log】是一款系统日志监控工具的汉化版本,主要功能是收集、记录和分析计算机系统的各种操作和事件,以便于系统管理员监控系统运行状态、排查问题和优化性能。这款软件的汉化版是为了方便中国用户使用,将原本...
在IT行业中,`sys_value`通常指的是一个系统相关的值或者变量,它可能涉及到操作系统底层的配置、状态信息或特定功能的开关。在这个`sys_value demo`中,我们可能正在研究如何在C语言环境下操作和管理这类系统级别的...
Oracle的LOB(CLOB)大字段以及(SYS_LOB$$)清理.txt
在PL/SQL(Procedural Language/Structured Query Language)中,...通过阅读《PLSQL中显示Cursor、隐示Cursor、动态Ref_Cursor区别(有分支图解).pdf》这份资料,你可以更深入地了解这些概念,并结合实际例子进行学习。
本文将深入探讨"js_sys_area.rar"压缩包中的核心内容——"js_sys_area.sql",这是一个专为Jeesite 4.x框架设计的全国行政区域划分的SQL导入脚本,旨在帮助开发者快速构建支持全国范围的地理位置信息的系统。...
在Linux操作系统中,`sys_execve`是一个系统调用,它是程序执行的核心机制。这个调用使得一个进程能够替换其当前的执行上下文,加载并运行新的可执行文件。通过理解`sys_execve`的工作原理,我们可以更好地了解进程...
"Oracle中的USERENV和SYS_CONTEXT范例" Oracle中的USERENV和SYS_CONTEXT是两个非常重要的函数,它们都可以用于获取当前会话的信息,例如当前用户、当前实例、当前语言等。 USERENV函数 USERENV函数用于返回当前...
select id,name,lat,lng,pinyin from sys_area where 1=1 and `level` = 1; city 市 -- 江西 select id,name,lat,lng,pinyin from sys_area where 1=1 and `level` = 2 and find_in_set('360000',`path`); ...
Quartus_II_13.1 64位 32位破解器 ,适用QuartusSetup-13.1.0.162,另外内含Crack_QII_13.1_Windows补丁备份文件夹,存放了gcl_afcq.dll、sys_cpt.dll原始文件,方便出错还原