首页 >

在SQL PLUS中调试Oracle存储过程

数据库|mysql教程在SQL PLUS中调试Oracle存储过程
Oracle高级培训,在SQL PLUS中调试Oracle存
数据库-mysql教程
企业版发卡源码,ubuntu系统可否升级,java爬虫编码步骤,set() php,seo 推广模式lzw
开发和调试Oracle存储过程都是用可视化工具,如PL SQL DEVELOPER,TOAD等等。不会有人傻到要用 vim 去开发,再用 sql plus 去调试
qq消息自动发送 源码,ubuntu 缺共享库,爬虫公园介绍视频,php 连接其它php文件,展会seo技术lzw
会员下载网站源码,vscode开发ue4,ubuntu系统lnmp,tomcat实现简单群聊,被子上有爬虫,php服务器端开发,福清网页seo联系方式,怎么把asp网站改成php,网站模板和源码区别lzw

我们在通常情况下,开发和调试Oracle存储过程都是用可视化工具,如PL SQL DEVELOPER,TOAD等等。不会有人傻到要用 vim 去开发,再用 sql plus 去调试的存储过程的。但在有些情况下,我们知道在 sql plus 中如何调试存储过程,还是有收益的。

像我的有些客户的数据库环境,我只能通过ssh 连接进去看。开发人员告诉我,,一个存储过程使用pl sql developer 调试一下就死掉,再调再死。

我在数据库的系统管理视图中看不到任何错误,怎么办呢?

没办法,只能自己使用sql plus 这个工具去调试存储过程啦!

在绕过几层网络设置,连接上数据库服务器操作系统,打开sqlplus 工具窗口。

要调试的存储过程是这样子:

CREATE OR REPLACE PROCEDURE “PROC_OBJECT_GET_ID”(p_id_name varchar2,
result out integer,
p_message out varchar2)

一个输入变量和两个输出变量,分别为varchar,integer,varchar 类型。

在sql plus 中,使用var 声明变量,使用exec 赋值和执行存储过程

SQL> VAR P_ID_NAME VARCHAR2(100)
SQL> VAR RESULT NUMBER
SQL> VAR P_MESSAGE VARCHAR2(100)

SQL> EXEC :P_ID_NAME:= ‘com.css.cms.document’
SQL> execute PROC_OBJECT_GET_ID1(:P_ID_NAME,:result,:p_message);

PL/SQL 过程已成功完成。

SQL> PRINT RESULT

RESULT
———-
-1

SQL> PRINT P_MESSAGE

P_MESSAGE
——————————————————————————–
ORA-01422: 实际返回的行数超出请求的行数

变量的类型只有帮助中列出来的这些。


SQL> variable result integer;
用法 : VAR[IABLE] [ [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |
VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR |
BINARY_FLOAT | BINARY_DOUBLE ] ]

sqlplus 工具还有一些功能,可以使用help 方式去学习。

更多Oracle相关信息见Oracle 专题页面 ?tid=12


在SQL PLUS中调试Oracle存储过程
  • Oracle数据库版本有差异的冷机备份还原
  • Oracle数据库版本有差异的冷机备份还原 | Oracle数据库版本有差异的冷机备份还原 ...

    在SQL PLUS中调试Oracle存储过程
  • 使用ASH信息,发现高CPUsession
  • 使用ASH信息,发现高CPUsession | 使用ASH信息,发现高CPUsession ...

    在SQL PLUS中调试Oracle存储过程
  • 在RAC数据库上滚动(Rolling)安装/回退小补丁办法
  • 在RAC数据库上滚动(Rolling)安装/回退小补丁办法 | 在RAC数据库上滚动(Rolling)安装/回退小补丁办法 ...