永发信息网

在.net中如何传递参数给oracle存储过程

答案:2  悬赏:60  手机版
解决时间 2021-02-01 14:31
在oracle 中可以自定义数据类型,而且存储过程的参数也可以是自定义的数据类型,现在的问题是,如果存储过程的参数是oracle中自定义的,.net要如何调用存储过程。
最佳答案
调用oracle和ms sql server是一样的
全部回答
第一种:只读。参数是只读的,不能修改,即调用时传递进来的是常量,或者变量(但变量不能在存储过程中修改)。通常select及dml类型的存储过程传递的是in类型的参数。 第二种:只写。忽略调用语句传递的任何参数,并在函数(过程)内部给这些参数赋值,因此是只写的。(这种情况是在函数或过程内部给参数重新赋值,但重新赋值后的参数是无法被外部调用的(好像游标类型的参数除外)) create or replace  procedure "scott"."swap" (firstvalue out number, secondvalue out  number) 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 第三种:读或写。这可以完全控制参数,读取传递的参数的值。可以再函数(过程)内部修改参数的值,在退出函数(过程)后,这些参数被赋给在函数内部写入的值,这样就可以返回多个值。(即入口参数写入值后,可以传递到函数(过程)的外部,供外部调用的时候使用) ps:函数中的返回值为如下几种: char;  varchar2; number; integer; date; boolean; table; record  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.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
工行申请提前结清贷款,要提前两个月预约,有
注册资本被抽走后,其他应收款如何消化?
检督的意思是什么啊?知道的请说下!
带ji的成语百年大( )违法乱( )一如( )往
高速公路免费结束后,上高速时没有取卡的人怎
3x+5错写成3(x+5),结果比原来()
2017年高考复读生政策
向未成年孩子销售q币,孩子把q币用完了,现在
铠甲勇士刑天 柚子小天照片
篣楚的意思是什么啊?知道的请说下!
我有附身公寓 RCT-691 有人要吗
他是一个性格开朗的人
用完护肤品脸会刺痛是怎么回事 可能是这3种
法国大革命和拿破仑帝国期间,英国多次武装干
强关联物理,高温超导物理属于哪个大方向
推荐资讯
画碟的意思是什么啊?知道的请说下!
手持条码扫描器最佳扫描距离是多少
维动新能源电动汽车地址在什么地方,想过去办
三十多的男人只会开车好找工作吗
开车从大庆到长春不走哈大还怎么走啊
下列对男女同学的交往认识正确是DA. 男女授受
九成洗衣店地址有知道的么?有点事想过去
古兰村怎么去啊,我要去那办事
浦东机场到上海长途客运总站怎么坐车
谋人事如己事而后虑之也省是什么意思
qq安全那边为什么会多加了一个未知账户
我是成长的意义什么歌?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?