oracle存储过程out
A. oracle存储过程的in out 值传递,这是怎么传递的看不懂啊
p_user_name的IN,表示这个参数是传入参数。
p_out_val的OUT,表示这个是传出参数。也就是JAVA中return的值。
p_inoutval的IN OUT,表示这个既是传入、又是传出参数。也就是说,你可以利用它传入该存储过程,然后接到处理后的这个参数。一个参数搞定了2项功能(传入,传出)
B. Oracle 存储过程中OUT参数的用法
aa
C. oracle存储过程out参数要输入吗
out是输出参数,不需要手动输入
参数 in 是需要手动输入的。
D. 请问ORACLE中 存储过程中的IN 和OUT 是做什么的啊
in 是传入的参数,out是返回的结果
E. 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;
F. oracle的存储过程怎么调用有out值参数的存储过程
声明与out参数类型一致的变量,然后与普通的存储过程一样调用它(传参时,out参数的位置传入你声明的那个变量就可以)就行了。
G. 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
---
以上,希望对你有所帮助。
H. oracle 存储过程 out参数
首先,恭喜你猜对了,要去掉参数。
想必这个规定是oralce本身定义好的规则。
仔细推敲一下,我想道理是这样的:
假设规定了传入参数的长度,一旦你传入的实际变量的长度超过定义的长度,那oralce怎么办? 还需要增加校验和提示吧?
这样以来莫不如不超过该类型的长度即可,大家用起来也方便:)
猜想你是和定义变量弄混了。变量的定义是要指定长度的。
I. 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.
J. oracle怎么在存储过程里调用out参数的存储过程
在所定义的存储过程中,参数的名字后面加上out即可。
例如:
create or replace procere pr1(id in varchar2, name out varchar2)
is
begin
select table_name into name from table1 where table_id = id;
end pr1;
其中存储过程pr1有两个参数,id是输入参数,只能向该存储过程传入值,用in修饰。name是输出参数,只能返回该存储过程的赋与name的结果,用out修饰。