易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE 表函数

从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,可以利用管道化来返回表函数。
但这种类型的函数,必须返回一个集合类型,且标明 pipelined以及不能返回具体变量,而是以一个空 return 返回!
这个函数中,通过 pipe row () 语句来送出要返回的表中的每一行
在调用这个函数的时候,通过 table() 关键字把管道流仿真为一个数据集!
见下面示例:
1、建立一个三列的对象:
create or replace type rowType_CustOrd_Line is object(order_no varchar2(12),line_no varchar2(4),rel_no varchar2(4));
2、建立table对象
create or replace type tabType_CustOrd_Line is table of rowType_CustOrd_Line;
3、建立包头:
CREATE OR REPLACE PACKAGE Dj_Test_API IS
module_  CONSTANT VARCHAR2(25) := 'FNDBAS';
lu_name_ CONSTANT VARCHAR2(25) := 'DjTest';
Function Get_Customer_Order_Line(
 order_no_                IN VARCHAR2
)
return tabType_CustOrd_Line pipelined;
END Dj_Test_API;
/
4、建立包体:
CREATE OR REPLACE PACKAGE BODY Dj_Test_API IS
Function Get_Customer_Order_Line(
 order_no_                IN VARCHAR2
)
return tabType_CustOrd_Line pipelined as row_ rowType_CustOrd_Line;
begin
for custOrdRow in (select t.order_no, t.line_no,t.rel_no
                  from customer_order_line t
                  where t.order_no=order_no_) loop
   row_ := rowType_CustOrd_Line(custOrdRow.order_no, custOrdRow.line_no,custOrdRow.rel_no);
   pipe row (row_);
end loop;
return;
END Get_Customer_Order_Line;
------------------------------------------------------------------------    
END Dj_Test_API;
/
5、利用 table() 关键字把管道流仿真为一个数据集:
select * from table(Dj_Test_API.Get_Customer_Order_Line('M200800177'


相关文档:

配置Oracle的odbc数据源

作者:易文俊
邮箱:yiwenjun@126.com
首先要把Oracle 的监听和服务两项打开
打开odbc数据源配置界面,选择系统DSN,添加,选择Oracle驱动程序
关键是下面参数的设置
Data source name:自己为该数据源命的名
description:随便自己描述啦
TNS server name:下拉菜单有(如果没有的话,就自己在net configuration assist ......

Exam : Oracle 1Z0 051

Exam : Oracle 1Z0-051
Title : Oracle Database: SQL Fundamentals I
1. View the Exhibit to examine the description for the SALES table.
Which views can have all DML operations performed on it? (Choose all that apply.)
A. CREATE VIEW v3
AS SELECT * from SALES
WHERE cust_id = 2034
WITH CHECK OPTI ......

oracle中的单引号和双引号

在Oracle中:
  双引号的作用是:如果创建对象的时候,对象名、字段名加双引号,则表示Oracle将严格区分大小写,否则Oracl都默认大写。
  而单引号则表示:这个加了单引号的字段是一个字类似字符串,并不区分大小写。
  单引号用于标识字符与数字的区别
  当指定字符串文本时,必须用单引号将字符串文本引住。 ......

Oracle 11g 忘记用户名密码解决办法(转)

情况描述:安装时选择的自动安装,由于时间久远忘记用户名、密码了,导致现在试了几个默认的用户名密码后,都提示无效的用户名、密码。
解决方法:启动SQLPLUS,提示输入用户名,然后输入sqlplus/as sysdba,密码为空。提示连接到信息,连接成功!
执行alter user sys identified by 密码;
设置成功!
现在可以从Enterp ......

ORACLE SQL性能优化(内部培训资料)

ORACLE SQL性能优化
ORACLE SQL性能优化系列 (一) 
1. 选用适合的ORACLE优化器
 ORACLE的优化器共有3种:
a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)
 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号