Oracle 如何给存储过程赋值

Oracle 如何给存储过程赋值,第1张

如果存储过程的名字是issuccess

可以这样定义入参 issuccess(PRM_I in varchar2)

调用的时候就可以:

issuccess('123456789');

作为传入的值来处理。

如果需要把存储过程中处理的结果返回出来,那么可以定以OUT 参数:

issuccess(PRM_I in varchar2,PRM_O OUT VARCHAR)

调用之前准备一个变量

VS_OUT varchar2(20);

调用时:

issuccess('123456789',VS_OUT)

过程里面修改PRM_O的值,过程执行完成后可以通过VS_OUT捕获。

declare

bb table1a%rowtype;

begin

select a into bb from table1 where b='1';

--dbms_outputput_line(bb);

你的查询语句where条件里面有b字段,赋值最好换个变量名,要不要出问题

oracle的存储过程,不允许直接在变量里赋值是因为oracle存储过程定义时并不会初始化变量的内存大小,只有使用的时候才会去分配。

oracle的存储过程的基本语法:

一:存储过程分部解析:

1 CREATE OR REPLACE PROCEDURE 存储过程名

2 IS

3 BEGIN

4 NULL;

5 END;

行1:

CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;

行2:

IS关键词表明后面将跟随一个PL/SQL体。

行3:

BEGIN关键词表明PL/SQL体的开始。

行4:

NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;

行5:

END关键词表明PL/SQL体的结束

二:存储过程创建语法:

create or replace procedure 存储过程名(param1 in type,param2 out type)

as

变量1 类型(值范围); --vs_msg VARCHAR2(4000);

变量2 类型(值范围);

Begin

//这里才可以给变量赋值

Select count() into 变量1 from 表A where列名=param1;

If (判断条件) then

Select 列名 into 变量2 from 表A where列名=param1;

Dbms_output。Put_line(‘打印信息’);

Elsif (判断条件) then

Dbms_output。Put_line(‘打印信息’);

Else

Raise 异常名(NO_DATA_FOUND);

End if;

Exception

When others then

Rollback;

End;

以上就是关于Oracle 如何给存储过程赋值全部的内容,包括:Oracle 如何给存储过程赋值、问个oracle数据库赋值语句、oracle的存储过程,为什么不允许直接在变量里赋值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10205093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存