oracle中调用存储过程时传递参数值的3种方式。。

 我来答
xbq4724
2011-08-04 · 超过19用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:49.7万
展开全部
应该就是这三种吧。
1 , IN (参数值传过来给存储过程使用)
2, OUT(存储过程返回结果给该参数)
3. IN OUT(存储过程调用该参数的同时,最后还返回结果给调用的参数)
yyyy__123
2011-08-04 · TA获得超过140个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:54.4万
展开全部
拿scott下emp表来说吧
1直接赋值
v_ename emp.emame%type:=’aaa‘;
2通过select into 赋值
declare
v_ename emp.ename%type;
begin
select ename into v_ename from emp;
3从键盘输入
declare
v_ename emp.ename%type;
begin
v_ename:=&请输入员工姓名;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
推荐于2017-09-01 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3349万
展开全部
IN、OUT、IN OUT
这3种方式么?

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 /

Procedure 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 procedure successfully completed.

参考资料: http://hi.baidu.com/wangzhiqing999/blog/item/0991d3124070854420a4e9b4.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韭孪粗B2
2011-08-03 · 超过13用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:34.2万
展开全部
不明白?
你是指 IN OUT么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式