ORACLE中如何为存储过程传递参数?第一种:只读 。参数是只读的,不能修改,即调用时传递进来的是常量,或者变量(但变量不能在存储过程中修改) 。通常select及DML类型的存储过程传递的是in类型的参数 。
第二种:只写 。忽略调用语句传递的任何参数,并在函数(过程)内部给这些参数赋值,因此是只写的 。(这种情况是在函数或过程内部给参数重新赋值,但重新赋值后的参数是无法被外部调用的(好像游标类型的参数除外))
CREATE OR REPLACEPROCEDURE "SCOTT"."SWAP" (firstValue out
number, secondValue outnumber) is
temp number;
begin
temp := firstValue;
firstValue := secondValue;
secondValue := temp;
end swap;
外部调用:
set serveroutput on;
declare
firstVal number;
secondVal number;
begin
firstVal := 10;
secondVal := 20;
scott.swap(firstVal,secondVal);
dbms_output.put_line('first is ' || firstVal);
dbms_output.put_line('second is ' || secondVal);
end;
无法在外部访问到firstValue与secondValue的值 。此时打印出的结果为:
first is
second is
【oracle怎么接收参数 oracle数据库连接参数】第三种:读或写 。这可以完全控制参数,读取传递的参数的值 。可以再函数(过程)内部修改参数的值,在退出函数(过程)后 , 这些参数被赋给在函数内部写入的值,这样就可以返回多个值 。(即入口参数写入值后,可以传递到函数(过程)的外部 , 供外部调用的时候使用)
ps:函数中的返回值为如下几种:
char;varchar2; number; integer; date; boolean; table; record
SQL CREATE OR REPLACE PROCEDURE HelloWorld2 (
2p_user_name INVARCHAR2,
3p_out_valOUTVARCHAR2,
4p_inout_val IN OUT VARCHAR2
5 ) AS
6 BEGIN
7dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
8p_out_val := 'A';
9p_inout_val := 'B';
10 END HelloWorld2;
11 /
Procedure created.
SQL DECLARE
2p_outval VARCHAR2(10);
3p_inoutval VARCHAR2(10) := '~Hi~';
4 BEGIN
5HelloWorld2('Edward', p_outval, p_inoutval);
6
7dbms_output.put_line('p_outval=' || p_outval);
8dbms_output.put_line('p_inoutval=' || p_inoutval);
9 END;
10 /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B
PL/SQL procedure successfully completed.
oracle怎么调用带参数的存储过程sqlplus或者PL/SQL SQL窗口输入(单独调用存储过程):无参数EXEC 过程名;或者BEGIN过程名END; IN 参数EXEC 过程名(入参数..);或者BEGIN过程名(入参数...)END; OUT参数 , IN OUT参数variable 绑定变量名 数据类型;//定义一个变量接收出参数的值;EXEC 过程名(:绑定变量名);
oracle存储过程中参数datatable如何接收,求高手!%ROWTYPE 类型 。produce setDatetabe1(tabTest intabel%ROWTYPE,
indexin number)
{ a := tabTest(index).name;
b := tabTest(index).age;
}
ORACLE中如何为存储过程传递参数给你一个 传递参数的例子
SQL CREATE OR REPLACE PROCEDURE HelloWorld2 (
2p_user_name INVARCHAR2,
3p_out_valOUTVARCHAR2,
4p_inout_val IN OUT VARCHAR2
5 ) AS
6 BEGIN
7dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
8p_out_val := 'A';
9p_inout_val := 'B';
10 END HelloWorld2;
11 /
Procedure created.
SQL DECLARE
2p_outval VARCHAR2(10);
3p_inoutval VARCHAR2(10) := '~Hi~';
4 BEGIN
5HelloWorld2('Edward', p_outval, p_inoutval);
6
7dbms_output.put_line('p_outval=' || p_outval);
8dbms_output.put_line('p_inoutval=' || p_inoutval);
9 END;
10 /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B
PL/SQL procedure successfully completed.
SQL
oracle怎么接收参数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle数据库连接参数、oracle怎么接收参数的信息别忘了在本站进行查找喔 。
推荐阅读
- cpu超频养什么测试,cpu超频做什么
- sap2000拉杆,sap2000拉伸显示
- 如何用好营销总监职责,如何做到营销总监
- 国外服务器好用什么dns,国外用什么dns最快
- go语言打印顺序 go语言printf
- html5混合式开发平台,android h5混合开发框架
- ERP系统的核心技术,erp系统的核心管理模块
- iOS模拟器的编译架构是,ios模拟器原理
- vb.net过程返回值 vb的返回值是什么意思