在SQLPLUS中调试Oracle存储过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在SQLPLUS中调试Oracle存储过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1940字,纯文字阅读大概需要3分钟。
内容图文
开发和调试Oracle存储过程都是用可视化工具,如PL SQL DEVELOPER,TOAD等等。不会有人傻到要用 vim 去开发,再用 sql plus 去调试
我们在通常情况下,开发和调试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] [
VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR |
BINARY_FLOAT | BINARY_DOUBLE ] ]
sqlplus 工具还有一些功能,可以使用help 方式去学习。
更多Oracle相关信息见Oracle 专题页面 ?tid=12
内容总结
以上是互联网集市为您收集整理的在SQLPLUS中调试Oracle存储过程全部内容,希望文章能够帮你解决在SQLPLUS中调试Oracle存储过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。