当前位置:首页 » 服务存储 » 输出参数存储过程的调用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

输出参数存储过程的调用

发布时间: 2023-05-18 22:22:03

① Java中,怎样调用带输出参数的存储过程

1、创建带输出参数的存储过程 如: 在查询分析器中执行declare @mg nvarchar(100)
exec proc_CSCO_SalesFctByStore 100,200,'name',@mg output
print @mg 在Java中调用import java.sql.*;
public class Test{
public static void main(String args[]) throws Exception {//加载驱动DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //获得连接
Connection conn = DriverManager.getConnection("jdbc:odbc:mydata", "sa",""); //创建存储过程的对象
CallableStatement c = conn.prepareCall("{call proc_CSCO_SalesFctByStore(?,?,?,?)}"); //给存储过程的第一个参数设置值
c.setInt(1, 100); //给存储过程的第一个参数设置值
c.setInt(2, 10000); //给存储过程的第一个参数设置值
c.setString(3, user); //注册存储过程的第四个参数
c.registerOutParameter(4, java.sql.Types.VARCHAR); //执行存储过程
c.execute(); //得到存储过程的输出参数值

② 两个输出参数的存储过程如何调用

方法可以为void,C#中参数也可以是out类型啊,定义两个out类型参数接收呗

③ Oracle 带输出参数的存储过程如何调用

create or replace procere detail_cs(a in number, b out number) is
begin
select 1+a into b from al;
end detail_cs;
create or replace procere call_test(a1 in number, b1 out number) is
begin
detail_cs(a1,b1);
end call_test;

④ 关于调用带输出参数的oracle存储过程

可以通过以下方式来进行带参数存储过程执行。

SQL>createorreplaceproceresp_pro10
2(spnoinnumber,spnameoutvarchar2)is
3begin
4select'ename'intospnamefromal;
5end;
6/

过程已创建。

SQL>setserveroutputon
SQL>DECLARE
2spnonumber;
3spnamevarchar2(10);
4BEGIN
5sp_pro10(spno,spname);
6
7dbms_output.put_line(spname);
8END;
9/
ename

PL/SQL过程已成功完成。

⑤ 如何用VB6调用带参数带输出的存储过程

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

有这么这存储过程。我在VB6里面该如何调用?

CREATE PROCEDURE Valid(

@CustName varchar(100),

@date varchar(10),

@OUT varchar(5) OUTPUT

)

AS

IF exists(select 1 from ServiceFee

where fee_CustName=@CustName

and (Year(@date) Beeen fee_BeginDate And fee_EndDate)

)

SELECT @OUT='TRUE'

ELSE

SELECT @OUT='FALSE'

GO

解析:

追加参数法调用存储过程

追加参数通过CreateParameter方法,用来指定属性创建新的Parameter对象。具体语法如下:

Set parameter = mand.CreateParameter (Name, Type, Direction, Size, Value)

·Name 可选,字符串,代表 Parameter 对象名称。

·Type 可选,长整型值,指定 Parameter 对象数据类型。

·Direction 可选,长整型值,指定 Parameter 对象类型。

·Size 可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。

·Value 可选,租好变体型,指定 Parameter 对象值。

这种方法与上面一种方法的分别主要在于,追加参数的方法在向存储过程传递参数时,这种方法首先通过CreateParameter方法为存储过程创建参数,然后通过Append方法将创建的参数追弊差铅加到Parameters *** 中去。

仍然以存储过庆嫌程doc_ProcName的调用为例,关键代码如下:

Dim mRst As ADODB.Recordset 'Recordset 对象表示的是来自基本表或命令执行结果的记录全集。

Dim prm As ADODB.Parameter 'Parameter 对象代表参数或与基于参数化查询或存储过程的Command 对象相关联的参数。

adoconn.ConnectionString = Adodc1.ConnectionString

adoconn.Open

Set adom.ActiveConnection = adoconn

adom.CommandText = "doc_ProcName"

adom.CommandType = adCmdStoredProc

Set prm = adom.CreateParameter("parameter1", adTinyInt, adParamInput, , "1")

adom.Parameters.Append prm

Set prm = adom.CreateParameter("parameter2", adInteger, adParamOutput)

adom.Parameters.Append prm

Set mRst = adom.Execute

ReturnValue = adom.Parameters(0)

⑥ pl/sql 存储过程调用 带cursor输出参数

1.创建表T_MONITOR_DEVICE
创建后的表结构

2.创建存储纤念过程

create or replace procere ProcTestNew(v_monitordeviceid in number,curdata out sys_refcursor )
As

begin

open curdata for
select ID, IP,PORT from T_MONITOR_DEVICE where id=v_monitordeviceid;--带参数测试
-- select ID, IP,PORT from T_MONITOR_DEVICE;
end ProcTestNew;

二.java程序中调用

public void TestProc()
{
Connection conn=null;
ResultSet rs=null;
try {
//this.getSession()为昌竖咐hibernate中的Session对象
conn = SessionFactoryUtils.getDataSource(this.getSession().getSessionFactory()).getConnection();
CallableStatement proc = conn.prepareCall("耐纯{call ProcTestNew(?,?) }");
BigDecimal b1 = new BigDecimal(1176);
proc.setBigDecimal(1, b1);
proc.registerOutParameter(2, OracleTypes.CURSOR);

⑦ plsql中怎么调用带输出参数的存储过程

1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示。

⑧ db2中存储过程调用存储过程的输出参数怎么写

db2 => CREATE PROCEDURE HelloWorld2 ( \
db2 (cont.) => IN vUserName <a href="https://www..com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">VARCHAR</a>(10), \
db2 (cont.) => OUT vOutValue <a href="https://www..com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank" class="-highlight">VARCHAR</a>(10), \
db2 (cont.) => INOUT vInOutValue <a href="https://www..com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">VARCHAR</a>(10)) \
db2 (cont.) => LANGUAGE SQL \
db2 (cont.) => BEGIN \
db2 (cont.) => INSERT INTO test_helloworld \
db2 (cont.) => VALUES('Hello ' || vUserName || vInOutValue); \
db2 (cont.) => SET vOutValue = 'A'; \
db2 (cont.) => SET vInOutValue = 'B'; \
db2 (cont.) => <a href="https://www..com/s?wd=END&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">END</a>
DB20000I SQL 命令成功完成。

db2 => truncate table test_helloworld IMMEDIATE
DB20000I SQL 命令成功完成。

db2 => BEGIN \
db2 (cont.) => DECLARE p_outval VARCHAR(10); \
db2 (cont.) => DECLARE p_inoutval VARCHAR(10); \
db2 (cont.) => SET p_inoutval = '~Hi~'; \
db2 (cont.) => call HelloWorld2('<a href="https://www..com/s?wd=Edward&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">Edward</a>', p_outval, p_inoutval); \
db2 (cont.) => INSERT INTO test_helloworld VALUES('p_outval=' || p_outval); \
db2 (cont.) => INSERT INTO test_helloworld VALUES('p_inoutval=' || p_inoutval)
; \
db2 (cont.) => <a href="https://www..com/s?wd=END&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">END</a>
DB20000I SQL 命令成功完成。

db2 => select * from test_helloworld
<a href="https://www..com/s?wd=DATA&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">DATA</a>
--------------------
Hello <a href="https://www..com/s?wd=Edward&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">Edward</a>~Hi~
p_outval=A
p_inoutval=B
3 条记录已选择。

⑨ 含有输出参数的存储过程如何进行调用,并且能够获得返回值

给你个例子c#
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcere;
cmd.CommandText = SqlProcName;

SqlParameter parmSqlstr = cmd.Parameters.Add("亩陵@sqlstr"槐判, SqlDbType.NVarChar, 4000);
parmSqlstr.Direction = ParameterDirection.Input;
parmSqlstr.Value = SelectCommand;

SqlParameter parmCurrentpage = cmd.Parameters.Add("@currentpage", SqlDbType.Int);
parmCurrentpage.Direction = ParameterDirection.Input;
parmCurrentpage.Value = CurrentPageIndex;

SqlParameter parmPagesize = cmd.Parameters.Add("@pagesize", SqlDbType.Int);
parmPagesize.Direction = ParameterDirection.Input;
parmPagesize.Value = ItemsPerPage;

SqlParameter parmPagecount = cmd.Parameters.Add("@pagecount", SqlDbType.Int);
parmPagecount.Direction = ParameterDirection.Output;--输出的

SqlParameter parmRecordcount = cmd.Parameters.Add("@recordcount", SqlDbType.Int);
parmRecordcount.Direction = ParameterDirection.Output;

//铅耐改 创建 DataAdapter

using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(ds);
recordcount = (int)parmRecordcount.Value;
pagecount = (int)parmPagecount.Value;

cmd.Parameters.Clear();
sda.Dispose();
}

⑩ oracle中带输出参数的存储过程怎么调用

--
查看存储过程执行时的打印信息
set
serveroutput
on
--
执行存储过程
execute
$proc_name;
--
带有输出参数的情况下
var
$variable
$type($length);
execute
$proc_name(:$variable);
--
查看存储过程内容
单引号内大写
select
text
from
all_source
where
type='procere'
and
name='$proc_name'
(and
owner='$owner');
--
重新编译存储过程
alter
procere
$proc_name
compile
(debug);