Oracle pipe】的更多相关文章

初次接触到Report ,看到了它背后复杂的SQL操作, 首先看到了一个Pipe,先了解下PIPE的用法: 关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合,在函数中,PIPE ROW语句被用来返回该集合的单个元 素,函数以一个空的RETURN 语句结束,以表明它已经完成.…
为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化.Oracle 9i 通过引入的管道化表函数纠正了后一种情况.表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样.管道化表函数与之相似,但是它像在构建时一样返回数据,而不是一次全部返回.管道化表函数更加有效,因为数据可以尽可能…
本文转载自:http://www.cnblogs.com/newsea/archive/2010/12/14/1905482.html 关于 pipe row的用法2009/12/30 14:53 =========================================================== 作者: flysky0814(http://flysky0814.itpub.net)发表于:2007.11.28 11:14分类: oracle10g 出处:http://flys…
--定义包中函数的纯度级别 create or replace package purityTest is type dept_typ is table of dept%rowtype index by binary_integer; dept_tab dept_typ; procedure newdept( p_deptno dept.deptno%type, p_dname dept.dname%type, p_loc dept.loc%type ); function getraiseds…
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理.归纳分类,方便自己和大家查看.翻阅.  ORACLE数据类型 ORACLE基本数据类型总结 ORACLE VARCHAR2最大长度问题 ORACLE数据库汉字占几个字节问题 ORACLE NUMBER类型Scale为0引发的问题 PL/SQL语法学习 PLSQL 调试触发器 PL/SQL重新编译包…
Oracle 超长字符串分割劈分,具体能有多长没测过,反正很大.... 下面,,,,直奔主题了: CREATE OR REPLACE FUNCTION splitstr(p_string IN clob, p_delimiter IN VARCHAR2:=',') RETURN str_split PIPELINED /*劈分字符串,返回结果集 使用 select COLUMN_VALUE from table(splitstr('34324,65,gfds,yt,,')); --默认分隔符 使…
最近一周,有一台ORACLE数据库服务器的监听服务在凌晨2点过几分的时间点突然崩溃,以前从没有出现过此类情况,但是最近一周出现了两次这种情况,检查时发现了如下一些信息: $ lsnrctl services   LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 12-DEC-2014 08:22:34   Copyright (c) 1991, 2007, Oracle.  All rights reserved.   Connectin…
从root账号切换到oracle账号时,出现了"-bash: ulimit: pipe size: cannot modify limit: Invalid argument"提示,一般出现这个错误是因为在设置.bash_profile时,没有注意空格的缘故造成.例如(注意红色部分) 例1: if [ $USER = "oracle" ]; then  if [$SHELL = "/bin/ksh" ]; then    ulimit -p 16…
1.su oracle 然后启动监听器 1.lsnrctl start  会看到启动成功的界面; 1.lsnrctl stop  停止监听器命令. 1.lsnrctl status  查看监听器命令. oracle数据库的安全包含两部分: 1.一部分是os的安全2.网络的安全3.oracle软件本身的安全 os的安全依赖相应的操作系统及管理员的技术水平,我们这里只谈谈oracle的安全 我了解的oracle软件的安全包含: 1.更改oracle的默认监听端口号 2.给监听器加密码 3.oracl…
oracle部分: 定义类型(用于字符串分割): create or replace TYPE "STR_SPLIT" IS TABLE OF VARCHAR2 (4000); 字符串分割函数: create or replace FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN str_split PIPELINEDAS v_length NUMBER := LENGTH(p_string)…
包声明 create or replace package PKG_EXCEL_UTILS is -- Author: zkongbai-- Create at: 2016-07-06-- Action: 解析xmlType 类型的 Excel 数据--============================================================================================TYPE t_table_varchar IS TABLE O…
2016-02-16 可以使用两种方法完成删除旧文件的操作: 一.是使用find命令结合-exec rm; 二.是使用find命令结合使用xargs rm. 例如: 把5天之前的归档文件删除: [oracle@rhel ~]$ find /oracle/arc -ctime +5 -exec rm -rf {} \; 2. 把34分钟之前的归档文件删除: [oracle@rhle ~]$ find /oracle /arc -cmin +34 -exec rm -rf {} \; 3.删除4天前…
本文转自:http://www.cnblogs.com/zhwl/p/3726003.html 一个小小的问题,让我折腾了一个上午,下午三点彻底解决了,分享一个给大家解决方法,尽管在测试服务器上,但是经验是值得总结和分享的. ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 进程 ID: 0 会话 ID: 0 序列号: 0 ---- 这个是现象. SQL*Plus: Relea…
为了让 PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化.Oracle 9i 通过引入的管道化表函数纠正了后一种情况.表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样.管道化表函数与之相似,但是它像在构建时一样返回数据,而不是一次全部返回.管道化表函数更加有效,因为数据可以尽可能…
在PL/SQL中,如果要返回数据的多个行,必须通过返回一个REF CURSOR的游标,或者一个数据集合(如临时表或物理表)来完成,而REF CURSOR的局限于可以从查询中选择的数据,而数据集合的局限性在于必须先CREATE TABLE(无论是创建临时表还是物理表)来进行具体化,具体化后,会因为频繁删除表导致大量的碎片.  Oracle 9i开始,引入了管道化表函数,解决了这种情况.  管道化表函数是返回整个行的集合的函数,可以直接在SQL中进行查询,他就好像是真正的数据库表一样.他存在于内存中…
1.1  基本命令 1.  获取帮助 $ exp help=y $ imp help=y     2.  三种工作方式 (1)交互式方式 $ exp        //  然后按提示输入所需要的参数 (2)命令行方式 $ exp user/pwd@dbname file=/oracle/test.dmp full=y    //  命令行中输入所需的参数 (3)参数文件方式 $ exp parfile=username.par    //  在参数文件中输入所需的参数 参数文件 username…
This is a guest blog from Robin Moffatt. Robin Moffatt is Head of R&D (Europe) at Rittman Mead, and an Oracle ACE. His particular interests are analytics, systems architecture, administration, and performance optimization. This blog is also posted on…
一个小小的问题,让我折腾了一个上午,下午三点彻底解决了,分享一个给大家解决方法,尽管在测试服务器上,但是经验是值得总结和分享的. ERROR:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist进程 ID: 0会话 ID: 0 序列号: 0 ---- 这个是现象. SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 18 15:30:38 2013…
要想给一个Oracle实例配置多个监听,首先要定义多个监听器,因为是多个监听,势必会有一些监听端口不是1521. 现在服务端的listener.ora文件中定义如下监听器: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = )) ) ) L2000 = (DE…
因为 plsql 不支持 64位 oracle 客户端,所以plsql 必须使用 oracle 的 32位 instanclient 包.  解压缩后放一个目录,例如: D:\Oracle\instantclient_10_2 ps: 用 10g 的32位 instantclient 包也可以连接 11g oracle 64位库 1.进 plsql 后,在首选项下设置  oracle home 的地址:D:\Oracle\instantclient_10_2, 同时设置 oci 的位置: D:\…
版权声明:本文为博主原创文章,未经博主允许不得转载. Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删除tablespace DROP TABLESPACE tablespace_na…
1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type t_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先定义一个对象类型.然后把对象类型替换上面语句中的number: 定义对象类型: create or replace type obj_table as object (   id int,   name varchar2(50…
1 监控代理安装 2 1.1 安装 2 1.1.1 解压安装包 2 1.1.2 安装 2 1.2 配置 5 1.2.1 给Agent授权 5 1.2.2 配置Oracle Agent 10 目录 1   监控代理安装 1.1  安装 1.1.1  解压安装包 #将安装压缩包解压到 /data/ora_agent  目录下: [root@TEST144239   data]# tar -xvf oracleagent_10g11g_for_linux.tar   -C /data/ora_agen…
1. C:\Users\10188535.ZTE>lsnrctl start LISTENER LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 16-9月 -2015 08:51:36 Copyright (c) 1991, 2010, Oracle.  All rights reserved. 启动tnslsnr: 请稍候... TNSLSNR for 32-bit Windows: Version 11.2.0.1…
在SQL Server中有表变量,可以在function中方便地返回,习惯SQL Server或者需要把脚本从SQL Server转到Oracle中的朋友可以都会碰到这个问题. Oracle的function中怎么返回表变量? 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type t_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要…
在调用Oracle函数时为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化. 9i 通过引入Oracle函数中的管道化表函数纠正了后一种情况.表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数据库表一样.管道化表函数与之相似,但是它像在构建时一样返回数据,而不是一次全部返回.管道化表函数…
--直接修改底层表 USER$ 更换用户名 1.windows 平台下运行 cmd 2.sqlplus /nolog 3.SQL> conn SYSTEM/123@ORCL as sysdba 连接到数据库.通常可以用sys用户登陆. 4.SQL> select * from user$; 找到 name为需要修改的用户的user#. select user#, name from user$ where name = 'SA';     --先瞧下SA的信息,其中user#就是一个序列号,相…
记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折. (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使用netca)如下: (LISTENER为系统原有:L1.L2为测试用新增的监听) # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora # Generated by Or…
原文 Oracle中函数/过程返回结果集的几种方式 Oracle中函数/过程返回结果集的几种方式:    以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过.    (1) 返回游标:        return的类型为:SYS_REFCURSOR        之后在IS里面定义变量:curr SYS_REFCURSOR;        最后在函数体中写:         open cur for            select ......;     …
第一种情况:只是修改默认端口 1.当前监听状态: C:\Windows\system32>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 11:48:45 Copyright (c) 1991, 2010, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen…