(急)shell调用ORACLE PL/SQL存储过程,怎么把过程的OUT参数返回到shell中?

yrs19 2007-05-19 10:55:12
各位大虾,小弟碰到一个问题,请教。。。

我在shell中调用一个存储过程,然后想把这个存储过程的OUT参数返回给shell,而且存储过程中有3个OUT参数。。。请问有什么办法能让shell拿到这3个OUT参数的值??
代码如下:

plsql:
CREATE OR REPLACE PROCEDURE TEST_OUT( o_out1 out NUMBER,o_out2 out NUMBER,o_out3 out NUMBER)
IS
BEGIN
o_out1 := 1;
o_out2 := 2;
o_out3 := 3;
END;
/

shell:
sqlplus -S $DBUSR/$DBUSR@$ORACLE_SID << EOF >&1
var out1 number;
var out2 number;
var out3 number;
exec TEST_OUT(:out1,out2,out3);
exit;
EOF

----然后在此处我再怎么拿到上面的,out1 ,out2 ,out3的值。
...全文
702 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
没遇到过这种情况.
前言 1 简介 课程目标 1-2 建议日程表 1-3 课程目标 1-4 Oracle 产品和服务 1-5 Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-15 表空间和数据文件 1-17 SYSTEM 和 SYSAUX 表空间 1-18 段、区和块 1-19 逻辑和物理数据库结构 1-20 课程示例: HR 方案 1-22 数据库体系结构:结构化组件概要 1-23 小结 1-24 2 安装 Oracle 数据库软件 课程目标 2-2 Oracle 数据库管理员的任务 2-3 用于管理 Oracle 数据库的工具 2-4 安装:系统要求 2-6 检查系统要求 2-7 灵活体系结构 (OFA) 2-8 使用灵活体系结构 2-9 设置环境变量 2-11 Oracle Universal Installer (OUI) 2-13 安装 Oracle 软件 2-14 数据库配置选项 2-15 执行配置脚本 2-16 完成安装 2-17 高级安装选项 2-18 安装选项:无提示模式 2-19 小结 2-20 练习概览:安装 Oracle 软件 2-21 3 创建 Oracle 数据库 课程目标 3-2 为数据库制定计划 3-3 数据库:示例 3-4 Database Configuration Assistant (DBCA) 3-5 使用 DBCA 创建数据库 3-6 口令管理 3-12 创建数据库设计模板 3-13 使用 DBCA 删除数据库 3-14 小结 3-16 练习概览:使用 DBCA 3-17 4 管理 Oracle 实例 课程目标 4-2 管理框架 4-3 启动和停止 Database Control 4-4 Oracle Enterprise Manager 4-5 访问 Oracle Enterprise Manager 4-6 数据库主页 4-7 使用 SQL*Plus 和 iSQL*Plus 访问数据库 4-8 使用 iSQL*Plus 4-9 为了以 SYSDBA 和 SYSOPER 身份进行访问而设置 iSQL*Plus 4-10 使用 SQL*Plus 4-12 从 Shell 脚本调用 SQL*Plus 4-13 从 SQL*Plus 调用 SQL 脚本 4-14 初始化参数文件 4-15 简化初始化参数 4-16 查看和修改初始化参数 4-18 数据库启动和关闭 4-19 启动 Oracle 数据库实例 4-20 启动 Oracle 数据库实例:NOMOUNT 4-21 启动 Oracle 数据库实例:MOUNT 4-22 启动 Oracle 数据库实例:OPEN 4-23 关闭 Oracle 数据库实例 4-24 关闭模式 4-25 SHUTDOWN 选项 4-26 使用 SQL*Plus 启动和关闭 4-29 查看预警日志 4-30 查看预警历史记录 4-31 动态性能视图 4-32 动态性能视图:用法示例 4-33 动态性能视图:注意事项 4-34 小结 4-35 练习概览:管理 Oracle 实例 4-36 5 管理数据库存储结构 课程目标 5-2 存储结构 5-3 如何存储表数据 5-4 数据库块的结构 5-5 表空间和数据文件 5-6 Oracle Managed Files (OMF) 5-7 表空间的空间管理 5-8 浏览存储结构 5-9 创建新表空间 5-10 本地管理表空间的存储 5-12 预配置数据库的表空间 5-14 变更表空间 5-16 对表空间执行的操作 5-18 删除表空间 5-20 查看表空间信息 5-21 采集存储信息 5-22 查看表空间内容 5-23 扩大数据库 5-24 什么是 Automatic Storage Management 5-25 ASM:主要功能和优点 5-26 ASM:概念 5-27 小结 5-28 练习概览:管理数据库存储结构 5-29 6 管理用户安全性 课程目标 6-2 数据库用户帐户 6-3 预定义帐户: SYS 和 SYSTEM 6-4 创建用户 6-5 验证用户 6-6 管理员验证 6-8 解除用户帐户的锁定并重置口令 6-9 权限 6-10 系统权限 6-11 对象权限 6-13 使用 ADMIN OPTION 撤销系统权限 6-14 使用 GRANT OPTION 撤销对象权限 6-15 角色的作用 6-16 将权限分配给角色以及将角色分配给用户 6-17 预定义角色 6-18 创建角色 6-19 保护角色 6-20 将角色分配给用户 6-21 概要文件和用户 6-22 实施口令安全功能 6-24 创建口令概要文件 6-26 提供的口令验证函数:VERIFY_FUNCTION 6-27 将限额分配给用户 6-28 小结 6-30 练习概览:管理用户 6-31 7 管理方案对象 课程目标 7-2 什么是方案 7-3 访问方案对象 7-5 命名数据库对象 7-6 指定表的数据类型 7-8 创建和修改表 7-11 了解数据完整性 7-13 定义约束条件 7-15 违反约束条件 7-16 约束条件状态 7-17 约束条件检查 7-19 使用 SQL 创建约束条件:示例 7-20 查看表的列 7-21 查看表的内容 7-22 对表执行的操作 7-23 删除表 7-24 截断表 7-25 索引 7-26 索引类型 7-27 B 树索引 7-28 位图索引 7-30 索引选项 7-32 创建索引 7-34 什么是视图 7-35 创建视图 7-36 序列 7-37 创建序列 7-38 使用序列 7-40 临时表 7-41 临时表:注意事项 7-43 数据字典:概览 7-44 数据字典视图 7-45 数据字典:用法示例 7-46 小结 7-47 练习概览:管理方案对象 7-48 8 管理数据和并发处理 课程目标 8-2 通过 SQL 处理数据 8-3 INSERT 命令 8-4 UPDATE 命令 8-5 DELETE 命令 8-6 MERGE 命令 8-7 COMMIT 和 ROLLBACK 命令 8-9 PL/SQL 8-10 管理 PL/SQL 对象 8-11 PL/SQL 对象 8-12 函数 8-13 过程 8-14 程序包 8-15 程序包说明和程序包体 8-16 内置程序包 8-17 触发器 8-18 触发事件 8-19 锁定 8-20 锁定机制 8-21 数据并发处理 8-22 DML 锁定 8-24 排队机制 8-25 锁定冲突 8-26 锁定冲突的可能原因 8-27 检测锁定冲突 8-28 解决锁定冲突 8-29 使用 SQL 解决锁定冲突 8-30 死锁 8-31 小结 8-32 练习概览:管理数据和并发处理 8-33 9 管理还原数据 课程目标 9-2 数据操纵 9-3 还原数据 9-4 事务处理和还原数据 9-6 存储还原信息 9-7 还原数据与重做数据 9-8 监视还原 9-9 管理还原 9-11 配置还原保留期 9-12 确保还原保留期 9-13 调整还原表空间的大小 9-14 使用还原指导 9-15 小结 9-16 练习概览:管理还原段 9-17 10 实施 Oracle 数据库安全性 课程目标 10-2 业界安全性要求 10-3 责任划分 10-5 数据库安全性 10-6 最少权限原则 10-8 应用最少权限原则 10-9 监视可疑活动 10-11 标准数据库审计 10-12 启用审计 10-13 统一审计线索 10-14 Enterprise Manager 审计页 10-15 指定审计选项 10-16 使用和维护审计信息 10-17 基于值审计 10-18 细粒度审计 10-20 FGA 策略 10-21 审计的 DML 语句:注意事项 10-23 FGA 准则 10-24 DBA 审计 10-25 维护审计线索 10-26 安全更新 10-27 应用安全补丁程序 10-28 小结 10-29 练习概览:实施 Oracle 数据库安全性 10-30 11 配置 Oracle 网络环境 课程目标 11-2 Oracle Net Services 11-3 Oracle Net Listener 11-4 建立网络连接 11-5 建立连接 11-6 用户会话 11-7 配置和管理 Oracle Network 的工具 1 监听程序控制实用程序 11-9 监听程序控制实用程序的语法 11-10 监听程序主页 11-12 网络服务管理页 11-13 创建监听程序 11-14 添加监听程序地址 11-15 数据库服务注册 11-16 命名方法 11-17 简便连接 11-18 本地命名 11-19 目录命名 11-20 外部命名方法 11-21 配置服务别名 11-22 高级连接选项 11-23 测试 Oracle Net 连接性 11-25 用户会话:专用服务器 11-26 用户会话:共享服务器 11-27 SGA 和 PGA 11-28 共享服务器:连接共享 11-29 不能使用共享服务器的情况 11-30 小结 11-31 练习概览:使用 Oracle Network 组件 11-32 12 主动维护 课程目标 12-2 主动维护 12-3 术语简介 12-4 优化程序统计信息 12-5 使用管理优化程序统计信息页 12-7 自动工作量资料档案库 (AWR) 12-9 AWR 基础结构 12-10 AWR 快照集 12-11 Enterprise Manager 和 AWR 12-12 管理 AWR 12-13 统计信息级别 12-14 数据库自动诊断监视程序 (ADDM) 12-15 ADDM 查找结果 12-16 ADDM 建议案 12-17 指导框架 12-18 Enterprise Manager 和指导 12-20 DBMS_ADVISOR 程序包 12-21 服务器生成的预警 12-22 服务器生成的默认预警 12-23 设置阈值 12-24 创建和测试预警 12-25 预警通知 12-26 对预警作出响应 12-28 预警类型和清理预警 12-29 自动维护任务 12-30 小结 12-31 练习概览:主动维护 12-32 13 性能管理 课程目标 13-2 性能监视 13-3 性能监视:顶级会话 13-7 性能监视:顶级服务 13-8 SQL 优化指导:概览 13-9 SQL 优化指导选项和建议案 13-10 使用 SQL 优化指导 13-11 使用 SQL 优化指导:示例 13-12 SQL 优化指导: SQL 统计信息 13-14 SQL 优化指导:确定重复的 SQL 13-15 使用 SQL 访问指导 13-16 管理内存组件 13-18 。。。。
原书名: Perl by Example(Third Edition),原出版社: PH PTR,作者: Ellie Quigley,译者: 杜炜,出版社:清华大学出版社,出版日期:2002 年8月,PDF 格式,大小 19 Mb。 内容简介 本书以最新版本的Perl 5.6.1为范本,全面介绍了Perl语言,其内容包含Perl的所有主题。对每个主题都使用了范例说明,从Perl变量、正则表达式,到编写报表、CGI脚本和网络应用,并对范例程序进行了解释。读者可以很容易地通过这些范例掌握Perl语言的语法。附录含有完整的函数和定义、命令行开关、特殊变量、常见模块和Perl调试器的列表,全功能的、面向对象的CGI程序,一些有用的脚本,以及很有帮助的HTM教程。 本书非常适合于Perl语言初学者阅读,对于Perl程序员,也有很大的参考价值。 目录 第1章 实用摘要和报表语言 1.1 什么是Perl 1.2 Perl用户 1.3 Perl的版本 1.4 如何获得Perl 1.5 什么是CPAN 1.6 Perl文档 第2章 Perl脚本 2.1 从命令行使用Perl 2.1.1 七开关 2.1.2 -n开关 2.1.3 -c开关 2.2 脚本设置 2.3 脚本 2.3.1 开始 2.3.2 注释 2.3.3 Perl语句 2.3.4 执行脚本 2.3.5 脚本范例(UNIX, Windows) 练习1 了解Perl的语法 .第3章 获得打印句柄 3.1 文件句柄 3.2 字 3.2.1 引号 3.2.2 实量(常量) 3.3 print函数 3.3.1 打印实量 3.3.2 警告编译指示和-w开关 3.3.3 strict编译指示和字 3.4 printf函数 3.4.1 sprintf函数 3.4.2 无引号打印:here document 练习2 编写literals脚本 第4章 变量 4.1 关于Perl变量 4.1.1 类型 4.1.2 作用域和包 4.1.3 命名规范 4.1.4 赋值语句 4.1.5 引号规则 4.2 标量、数组和散列 4.2.1 标量变量 4.2.2 数组 4.2.3 散列 4.3 从STDIN读取 4.3.1 把输入赋值给标量变量 4.3.2 chop和chomp函数 4.3.3 read函数 4.3.4 getc函数 4.3.5 将输入赋值给数组 4.3.6 将输入赋值给散列 4.4 数组函数 4.4.1 chop和chomp函数(用于列表) 4.4.2 exists函数 4.4.3 delete函数 4.4.4 grep函数 4.4.5 join函数 4.4.6 map函数 4.4.7 pack和unpack函数 4.4.8 pop函数 4.4.9 push函数 4.4.10 shift函数 4.4.11 splice函数 4.4.12 split函数 4. 4.13 sort函数 4.4.14 reverse函数 4.4.15 unshift函数 4.5 散列(关联数组)函数 4.5.1 keys函数 4.5.2 values函数 4.5.3 each函数 4.5.4 delete函数 4.5.5 exists函数 4.6 关于散列的更多内容 4.6.1 从文件加载散列 4.6.2 特殊散列 4.6.3 语境 练习3 特殊字符 第5章 运算符 5.1 关于Perl运算符 5.2 混合数据类型 5.3 优先权与结合性 5.3.1 赋值运算符 5.3.2 关系运算符 5.3.3 等值运算符 5.3.4 逻辑运算符(短路运算符) 5.3.5 逻辑字运算符 5.3.6 算术运算符 5.3.7 自动递增和自动递减运算符 5.3.8 位逻辑运算符 5.3.9 条件运算符 5.3.10 范围运算符 5.3.11 特殊字符串运算符和函数 5.3.12 生成随机数 5.3.13 rand/srand函数 练习4 运算符 第6章 条件 6.1 控制结构,块和复合语句 6.2 决策--条件结构 6.2.1 if和unless语句 6.2.2 unless语句结构 6.3 循环 6.3.1 while循环 6.3.2 until循环 6.3.3 for循环 4.5.2 values函数 4.5.3 each函数 4.5.4 delete函数 4.5.5 exists函数 4.6 关于散列的更多内容 4.6.1 从文件加载散列 4.6.2 特殊散列 4.6.3 语境 练习3 特殊字符 第5章 运算符 5.1 关于Perl运算符 5.2 混合数据类型 5.3 优先权与结合性 5.3.1 赋值运算符 5.3.2 关系运算符 5.3.3 等值运算符 5.3.4 逻辑运算符(短路运算符) 5.3.5 逻辑字运算符 5.3.6 算术运算符 5.3.7 自动递增和自动递减运算符 5.3.8 位逻辑运算符 5.3.9 条件运算符 5.3.10 范围运算符 5.3.11 特殊字符串运算符和函数 5.3.12 生成随机数 5.3.13 rand/srand函数 练习4 运算符 第6章 条件 6.1 控制结构,块和复合语句 6.2 决策--条件结构 6.2.1 if和unless语句 6.2.2 unless语句结构 6.3 循环 6.3.1 while循环 6.3.2 until循环 6.3.3 for循环 6.3.4 foreach循环 6.3.5 循环控制 6.3.6 伪开关语句 练习5 条件是什么 第7章 正则表达式--模式匹配 7.1 什么是正则表达式 7.2 表达式修饰符和简语句 7.2.1 条件修饰符 7.2.2 DATA文件句柄 7.2.3 循环修饰符 7.3 正则表达式运算符 7.3.1 m运算符和匹配 7.3.2 s运算符和替换 7.3.3 模式绑定运算符 练习6 它是sed、awk或grep吗?尝试Perl 第8章 获得控制:正则表达式元字符 8.1 正则表达式元字符 8.1.1 用于单字符的元字符 8.1.2 白空元字符 8.1.3 重复模式匹配的元字符 8.1.4 tr或y函数 8.2 统一字符编码(Unicode) 练习7 是sed、awk或grep吗?给出Perl的另外一个作用 第9章 获得文件句柄 9.1 用户定义文件句柄 9.1.1 打开文件:open函数 9.1.2 打开文件读 9.1.3 打开文件写 9.1.4 Win32文件 9.1.5 打开文件添加 9.1.6 select函数 9.1.7 使用flock锁住文件 9.1.8 seek和tell函数 9.1.9 打开文件读写 9.1.10 管道打开 9.2 传送参数 9.2.1 ARGV数组 9.2.2 ARGV和Null文件句柄 9.2.3 eof函数 9.2.4 -i开关:原位编辑文件 9.3 文件测试 练习8 获得文件句柄 第10章 子程序和函数 10.1 子程序/函数 10.1.1 定义和调用于程序 10.1.2 传送参数 10.1.3 原型 10.1.4 返回值 10.1.5 通过引用调用--别名和Typeglobs 10.1.6 通过指针传送 10.1.7 自动加载 10.1.8 BEGIN和END子程序(开始和结束) 10.1.9 subs函数 练习9 子程序不可缺少 第11章 模块化、打包并发送到库 11.1 包和模块 11.1.1 类比 11.1.2 定义 11.1.3 符号表 11.2 标准Perl库 11.2.1 @INC数组 11.2.2 包和.p1文件 11.2.3 模块和.pm文件 11.2.4 来自CPAN的模块 练习10 将所有的Perl都放入包 练习11 压缩并放入库 第12章 这个工作要求引用吗 12.1 什么是引用 12.1.1 符号引用与硬引用 12.1.2 硬引用 12.1.3 引用和匿名变量 12.1.4 嵌套数据结构 12.1.5 引用和子程序 12.1.6 文件句柄引用 12.1.7 ref函数 练习12 指向地址 第13章 面向对象的Perl 13.1 OOP范型 13.1.1 回顾包和模块 13.1.2 一些面向对象的专用术语 13.2 类、对象和方法 13.2.1 类和专用性 13.2.2 对象 13.2.3 bless函数 13.2.4 方法 13.2.5 多态性和动态绑定 13.2.6 析构函数和无用存储单元收集 13.3 继承 13.3.1 @ISA数组和调用方法 13.3.2 $AUTOLOAD,sub AUTOLOAD和UNIVERSAL 13.3.3 派生类 13.3.4 多重继承 13.3.5 面向对象术语--父方法 13.4 公共用户接口:文档编制类 13.4.1 pod文件 13.4.2 pod命令 13.4.3 如何使用pod解释程序 13.4.4 将pod文档翻译成文本 13.4.5 将pod文档翻译成HTML 13.5 使用Perl库的对象 13.5.1 再看标准Perl库 13.5.2 标准Perl库面向对象的模块 13.5.3 使用标准Perl库的模块 练习13 这一课的对象是什么 练习14 函数Pod的Perl 第14章 tie函数,DBM文件和数据库挂钩 14.1 连接变量与类 14.1.1 tie函数 14.1.2 预定义方法 14.1.3 连接标量 14.1.4 连接数组 14.1.5 连接散列 14.2 DBM文件 14.2.1 创建并赋给DBM文件数据 14.2.2 从DBM文件检索数据 14.2.3 从DBM文件删除项 第15章 Perl数据库编程 15.1 本章概述 15.2 Perl数据库编程 15.3 使用RDBMS的Perl编程 15.3.1 在Windows系统上安装Perl 15.3.2 使用PPM在Windows系统上安装Perl模块 15.3.3 安装RDBMS 15.3.4 为MMS范例创建DSN 15.4 使用ADO和DBI访问MSS 15.4.1 Microsoft SQL Server--范例15-1和15-3的查询 15.4.2 范例15-1:ex1.p1在MS SQL Server上的ADO简单查询,DSN 15.4.3 执行DDL和DML操作 15.4.4 范例15-2:ex2.p1 MSS上persons.sql的Perl ADO,无DSN 15.4.5 范例15-3:ex3.p1 MS SQL Server上的Perl DBI范例 15.4.6 范例15-4:ex4.p1 MSS上persons.sql的Perl DBl 15.5 使用ADO和DBI访问Oracle 15.5.1 Oracle--范例15-5(ADO)和15-7(DBI)的简单查询 15.5.2 为Oracle范例创建DSN 15.5.3 范例15-5:ex5.p1 Oracle上的ADO简单查询,DSN 15.5.4 在Oracle上执行DDL和DML操作 15.5.5 范例15-6:ex6.pl Oracle上persons.sql的Perl ADO,无DSN 15.5.6 范例15-7:ex7.pl Oracle上的Perl DBI简单查询 15.5.7 范例15-8:ex8.ploracle上persons.sql的Perl DBI 15.6 练习:非编程 练习15 使用MSS 练习16 在MSS执行persons.p1 练习17 使用Oracle 练习18 在Oracle执行persons.p1 15.7 参考文献 第16章 与系统接口 16.1 系统调用 16.1.1 目录和文件 16.1.2 目录和文件属性 16.1.3 查找目录和文件 16.1.4 创建目录--mkdir函数 16.1.5 删除目录--rmdir函数 16.1.6 更改目录--chdir函数 16.1.7 通过目录文件句柄访问目录 16.1.8 许可和所有权 16.1.9 硬和软链接 16.1.10 更改文件名 16.1.11 更改访问和修改时间 16.12 文件统计量 16.1.13 低级文件I/O 16.1.14 压缩和解压缩数据 16.2 进程 16.2.1 UNIX进程 16.2.2 Win32进程 16.2.3 环境(UNIX和Windows) 16.2.4 进程和文件句柄 16.2.5 进程优先权和Nice 16.2.6 口令信息 16.2.7 时间和进程 16.2.8 UNIX进程创建 16.2.9 Win32进程创建 16.3 其他与操作系统接口的途径 16.3.1 syscall函数和h2hp脚本 16.3.2 命令替换--备份引号 16.3.3 Shell.pm模块(Perl) 16.3.4 system函数 16.3.5 here documents 16.3.6 Globbing(文件名扩展和通配符) 16.4 错误处理 16.4.1 die函数

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧