资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

oracle怎么传参数 oracle动态传参

oracle 存储过程怎么传参数

create

目前创新互联公司已为上千的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、顺德网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

table

p_proc(pid

number(2),pname

varchar2(20),pname_class

varchar2(20));

--用于存储存储过程和参数名的表并插入四条数据,insert

into

p_proc

values(1,'a','v1');insert

into

p_proc

values(2,'b','v2');insert

into

p_proc

values(3,'c','v3');insert

into

p_proc

values(4,'d','v4');

四个存储过程的的状况为:

create

or

replace

procedure

v1(v_para

varchar2)asbegin

dbms_output.put_line(v_para);end;create

or

replace

procedure

v2(v_para

varchar2)asbegin

dbms_output.put_line(v_para);end;create

or

replace

procedure

v3(v_para

varchar2)asbegin

dbms_output.put_line(v_para);end;create

or

replace

procedure

v4(v_para

varchar2)asbegin

dbms_output.put_line(v_para);end;如下调用存储过程的存储为(请忽略一些测试输出):

ORACLE中如何为存储过程传递参数

给你一个 传递参数的例子

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.

SQL

C#调用oracle的存储过程,Oracle存储过程参数是一个记录集,我该怎么传递参数?我数据放在table表里面。

这个代码是帮你搜到的,自己先理解了再测试一下:

SqlConnection lSQLConn = null;

SqlCommand lSQLCmd = new SqlCommand();

//Declare a DataAdapter and a DataSet

SqlDataAdapter lDA = new SqlDataAdapter();

DataSet lDS = new DataSet();

//...Execution section

// create and open a connection object

lSQLConn = new SqlConnection(connStr);

lSQLConn.Open();

//The CommandType must be StoredProcedure if we are using an ExecuteScalar

lSQLCmd.CommandType = CommandType.StoredProcedure;

lSQLCmd.CommandText = "sp_YourSPName";

lSQLCmd.Parameters.Add(new SqlParameter("@Parm1", aParm1));

lSQLCmd.Parameters.Add(new SqlParameter("@Parm2", aParm2));

lSQLCmd.Parameters.Add(new SqlParameter("@Parm3", aParm3));

lSQLCmd.Parameters.Add(new SqlParameter("@Parm4", aParm4));

lSQLCmd.Connection = lSQLConn;

//Fill the DataAdapter with a SelectCommand

lDA.SelectCommand = lSQLCmd;

lDA.Fill(lDS);

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;

oracle 视图传递参数

没有参数视图这一实现的吧。

网上有人用package中定义的变量作为视图的查询参数值(当然不是直接使用package中的参数,而是调用package中返回此变量值的函数),在使用视图之前先调用package中的设置该变量值的方法,这样来曲线实现所谓的“参数视图”。

从代码上来看,你应该是使用的这种方法。那么,你应该在select语句之前,先调用p_view_param中设置值的方法,执行完成之后再执行select。

不过,个人认为直接使用返回结果集的函数会更方便些。


网站标题:oracle怎么传参数 oracle动态传参
本文路径:http://cdkjz.cn/article/hjjopo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220