当前位置:首页 » 存储配置 » oracle存储过程out参数

oracle存储过程out参数

发布时间: 2022-09-27 07:57:24

1. oracle 过程参数 out的调用问题。

OUT 参数必须传入的, 下面是一个 OUT 与 IN OUT 参数使用的例子。

sql> CREATE OR REPLACE PROCEDURE HelloWorld2 (
2 p_user_name IN VARCHAR2,
3 p_out_val OUT VARCHAR2,
4 p_inout_val IN OUT VARCHAR2
5 ) AS
6 BEGIN
7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
8 p_out_val := 'A';
9 p_inout_val := 'B';
10 END HelloWorld2;
11 /

Procere created.

SQL> DECLARE
2 p_outval VARCHAR2(10);
3 p_inoutval VARCHAR2(10) := '~Hi~';
4 BEGIN
5 HelloWorld2('Edward', p_outval, p_inoutval);
6
7 dbms_output.put_line('p_outval=' || p_outval);
8 dbms_output.put_line('p_inoutval=' || p_inoutval);
9 END;
10 /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B

PL/SQL procere successfully completed.

2. oracle存储过程out参数要输入吗

out是输出参数,不需要手动输入
参数 in 是需要手动输入的。

3. oracle存储过程中使用游标作为out类型参数,求救!

1、你定义的【RET_CURSOR_VALUE】是一个光标变量,当他作为参数传入过程【GET_EMPINFOBYDEPNO】时候已经被打开(就是open...for),在主程序中再度打开是没有必要的也是错误的(且光标变量只能用【open...for】的形式打开)。
2、所以把【OPEN
RET_CURSOR_VALUE】这句话删掉,就没有问题了。
*******************************
口说无凭,oracle实施log请参照:
说明:我把empno改成20了(因为表里面没有1的数据),还有把open语句注掉了。
*******************************
[SCOTT@ORA1]
SQL>DECLARE
2
RET_CURSOR_VALUE
PKG_CONST.REF_CURSOR;
3
RET_EMPNO
EMP.EMPNO%TYPE;
4
RET_ENAME
EMP.ENAME%TYPE;
5
BEGIN
6
GET_EMPINFOBYDEPNO(20,
RET_CURSOR_VALUE);
7
--OPEN
RET_CURSOR_VALUE
;--报游标类型有误,未解决!!!
8
LOOP
9
FETCH
RET_CURSOR_VALUE
10
INTO
RET_EMPNO,
RET_ENAME;
11
EXIT
WHEN
RET_CURSOR_VALUE%NOTFOUND;
12
DBMS_OUTPUT.PUT_LINE('empNo
is:'
||
RET_EMPNO
||
',empName
is'
||
13
RET_ENAME);
14
END
LOOP;
15
CLOSE
RET_CURSOR_VALUE;
16
END;
17
/
empNo
is:7369,empName
isSMITH
empNo
is:7566,empName
isJONES
empNo
is:7902,empName
isFORD
---
以上,希望对你有所帮助。

4. oracle 中不同调用不同package的存储过程,out参数为什么看不到

1、你的过程定义的参数是out也就是出参,要往外传值的,执行完这个过程得到的结果放在出参里传给调用它的地方
SELECT COUNT(*) INTO nums FROM students
得到一个数值 放在 nums里面传出去了

2、存储过程的固定格式:
CREATE OR REPLACE PROCEDURE 过程名(参数名 参数类型(in/out) 数据类型(varchar/number/char...))
AS
声明一些变量...

BEGIN
做一些业务处理(增,删,查,改...)

END;

3、参数的写法:
参数名 in或者out或者inout 数据类型
in的就是需要往里传数据的参数,out的就是过程处理完往外传的数据,inout的就是既往里传也往外传的参数
4、在java里调用过程的时候:
{call 过程名(入参的值,出参的变量,...)} 2011/8/7 10:18:07

5. Oracle存储过程中 in out参数类型怎么定义

types.mytype类型要和test表结构一致

6. oracle的存储过程怎么调用有out值参数的存储过程

1、你的过程定义的参数是out也就是出参,要往外传值的,执行完这个过程得到的结果放在出参里传给调用它的地方
SELECT COUNT(*) INTO nums FROM students
得到一个数值 放在 nums里面传出去了

2、存储过程的固定格式:
CREATE OR REPLACE PROCEDURE 过程名(参数名 参数类型(in/out) 数据类型(varchar/number/char...))
AS
声明一些变量...

BEGIN
做一些业务处理(增,删,查,改...)

END;

3、参数的写法:
参数名 in或者out或者inout 数据类型
in的就是需要往里传数据的参数,out的就是过程处理完往外传的数据,inout的就是既往里传也往外传的参数
4、在java里调用过程的时候:

7. oracle中带有out类型的存储过程应该如何调用跪求大神指点我

pro5_out本来就是一个存储过程,所以你直接调用就可以了,另外你下面调用的时候写的是一个pl/sql块,所以需要参照pl/sql块的写法,不然的话就会出现value3没有声明的情况,可以参照上面的declare那一段就可以了。

8. oracle存储过程中怎么理解传入传出参数(in out)

Oracle 过程中定义了in|out|in out3中参数模式,每个参数可以选择其一
in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。
举个例子
create or replace procere update_price(
p_proct_id in NUMBER,
p_factor in NUMBER)
AS
.....
你在引用这个过程的时候给参数传入值
exexute update_price(2,2.5);
这是定义的2个参数就得到了值,in模式下值不能变

out模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程
in out 表示高参数可以向该过程中传递值,也可以将某个值传出去

9. oracle存储过程,IN OUT 类型的参数怎么传参数

in out类型参数是过程运行开始会把参数值传入过程,运行结束后会把参数值再传出去。
比如说过程test(v_cs in out number);功能为把带入的参数加1;
v_num:=1;
test(v_num);
dbms_output.put_line(v_num);
将输出2;

10. oracle存储过程的in out 值传递,这是怎么传递的看不懂啊

p_user_name的IN,表示这个参数是传入参数。

p_out_val的OUT,表示这个是传出参数。也就是JAVA中return的值。

p_inoutval的IN OUT,表示这个既是传入、又是传出参数。也就是说,你可以利用它传入该存储过程,然后接到处理后的这个参数。一个参数搞定了2项功能(传入,传出)

热点内容
块直存储 发布:2025-04-09 01:39:01 浏览:210
山西电信服务器地址云主机 发布:2025-04-09 01:31:47 浏览:981
win7linux传文件 发布:2025-04-09 01:30:21 浏览:501
安卓完美解锁机怎么升级系统 发布:2025-04-09 01:28:50 浏览:89
滚轮JAVA 发布:2025-04-09 01:27:32 浏览:127
如何将电脑投屏到安卓平板 发布:2025-04-09 01:25:56 浏览:354
sql查询的类型 发布:2025-04-09 01:22:14 浏览:58
linuxjdkbin 发布:2025-04-09 01:17:36 浏览:85
gl8商用选什么配置 发布:2025-04-09 01:09:23 浏览:83
编程伴我成长 发布:2025-04-09 01:08:10 浏览:163