oracle 数据库中存储过程输出情况
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 数据库中存储过程输出情况相关的知识,希望对你有一定的参考价值。
参考技术A1、编写存储过程,
create or replace procedure test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 < M then
dbms_output.put_line('输出SQL语句1');
elsif M < 3 then
dbms_output.put_line('输出SQL语句2');
else
dbms_output.put_line('nothing');
end if;
end;
2、在command窗口编译,
3、执行存储过程,输入变量,实际什么也不输入,
4、切到DBMS输出窗口,查看输出结果,‘nothing’,也就是说并没有执行‘输出SQL语句’,
Oracle 存储过程
1.1存储过程
存储过程是一种命名的PL/SQL程序块,他可以有参数,也可以有若干个输入、输出参数。甚至可以有多个即做输入又做输出的参数,但他都没有返回值。存储过程被保存在数据库中,他不可以被SQL语句直接执行调用。通过EXECUTE命令或在PL/SQL命令中调用,因为存储过程是已经编译好的代码块,所以被调用或引用时,执行效率很高。
1.1.1 存储过程的创建和执行
用户的储存过程只能定义在当前数据库中,用户创建的储存过程归登录数据库的用户拥有。单DBA可以把许可授权给其他用户。在存储过程的定义体中不可以使用下列对象:
CREATE VIEW CREATE DEFAULT CREATE RULE CREATE PROCEDURE CREATE TRIGGER
1.1.2创建储存过程
create [or replace] procedure pro_name [(parameter1[,parameter2]...)] is|as begin plsql_sentences; [exception] [dowith_sentences;] end [pro_name]; 1.pro_name:存储过程的名称,如果数据库中已经存在此名称。则可以指定"or replace" 关键字,这样心得储存过程将覆盖原来的存储过程。 2.parameter:存储过程的参数,若是输入参数则在后面添加IN关键字,输出则添加OUT关键字,IN或OUT后面是参数的数据类型,但不能指定该类型的长度。 3.plsql_sentences:PL/SQL语句。 4.dowith_sentences:异常处理语句。
※:parameter是存储过程定义的参数,而不是存储过程定义的内部变量,内部变量要在"is|as"关键字后面定义,并使用分号结束
create or replace procedure pro_insertdept is begin insert into dept values(77,‘市场拓展部‘,‘JILIN‘); --插入数据记录 commit; --提交数据 dbms_output.put_line("插入记录成功"); --提示插入记录成功 end pro_insertdep; execute pro_insertdept; --execute命令执行pro_insertdep存储过程 --修改可以使用ALTER PROCEDURE语句,也可以用CREATE OR REPLACE重新创建一个新的过程 drop procedure pro_insertdep; --删除存储过程pro_insertdep
以上是关于oracle 数据库中存储过程输出情况的主要内容,如果未能解决你的问题,请参考以下文章
oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,
如何php调用oracle存储过程返回的是一个结果集,该怎么从php页面中吧数据循环输出呀