当前位置:首页 » 存储配置 » 带输出参数的存储过程

带输出参数的存储过程

发布时间: 2022-04-24 02:09:12

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

追加参数法调用存储过程
追加参数通过CreateParameter方法,
用来指定属性创建新的Parameter对象。具体语法如下:
Set
parameter
=
command.CreateParameter
(Name,
Type,
Direction,
Size,
Value)
·Name
可选,字符串,代表
Parameter
对象名称。
·Type
可选,长整型值,指定
Parameter
对象数据类型。
·Direction
可选,长整型值,指定
Parameter
对象类型。
·Size
可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。
·Value
可选,变体型,指定
Parameter
对象值。
这种方法与上面一种方法的分别主要在于,
追加参数的方法在向存储过程传递参数时,
这种方法首先通过CreateParameter方法为存储过程创建参数,
然后通过Append方法将创建的参数追加到Parameter
s集合中去。
仍然以存储过程doc_ProcName的调用为例,
关键代码如下:
Dim
mRst
As
ADODB.Recordset
'Recordset
对象表示的是来自基本表或命令执行结果的记录全集。
Dim
prm
As
ADODB.Parameter
'Parameter
对象代表参数或与基于参数化查询或存储过程的Command
对象相关联的参数。
adoconn.ConnectionString
=
Adodc1.ConnectionString
adoconn.Open
Set
adocomm.ActiveConnection
=
adoconn
adocomm.CommandText
=
doc_ProcName
adocomm.CommandType
=
adCmdStoredProc
Set
prm
=
adocomm.CreateParameter(
parameter1,
adTinyInt,
adParamInput,
,
1)
adocomm.Parameters.Append
prm
Set
prm
=
adocomm.CreateParameter(
parameter2,
adInteger,
adParamOutput)
adocomm.Parameters.Append
prm

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

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

sql">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过程已成功完成。

③ oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,

1、新建一个存储过程(Procere)。

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(); //得到存储过程的输出参数值

⑤ oracle带参(传入,传出)的存储过程怎么执行

1、新建存储过程,Create or ReplaceProcere CHK_SYS_EMP 检查系统工号。

⑥ 带参数的存储过程如何去写谁给举个例子

写带有参数存储过程应该是sql数据库的问题:
先建立一个表,并添加一些数据来进行演示:
create
table
t_student(
id
int
not
null,
name
nvarchar
(10)
null,
age
tinyint
null,
school
nvarchar(20)
null,
class
nvarchar(10)
null,
score
float
null,
constraint
[pk_student_id]
primary
key
clustered(id)
)
go
insert
into
t_student
values(1,'张小红',8,'育才小学','一班',92)
insert
into
t_student
values(2,'王丽丽',8,'育才小学','一班',90)
insert
into
t_student
values(3,'张燕',7,'云华小学','二班',86)
insert
into
t_student
values(4,'刘华',6,'云华小学','二班',85)
一、exec
exec命令可以执行一个存储过程也可以执行一个动态sql语句。先来看看怎么执行存储过程:
新建一个存储过程
sp_getstudent
,返回
成绩大于90
分的学生:
create
procere
[dbo].[sp_getstudent]
@score
float,
@nums
int
output
as
begin
set
nocount
on;
select
*
from
t_student
where
score
>=@score
select
@nums=count(1)
from
t_student
where
score
>=@score
if(@nums>0)
return
1
else
return
0
end
go
该存储过程涉及了
查询操作、返回值和输出参数,我们来看用exec
命令如何调用:
declare
@return_value
int,
@outnums
int
exec
@return_value
=
[dbo].[sp_getstudent]
@score
=
90,
@nums
=
@outnums
output
select
@outnums
as
n'大于90分的人数'
select
'返回值'
=
@return_value
go
执行结果:
我们发现exec
执行存储过程和我们平时程序执行一个方法是几乎一样的,返回值参数
直接就可以等于存储过程的执行后的返回值,输出参数
在后面需要增加
output
关键字。

⑦ sql server 中 一个要输入参数和输出参数的存储过程。

1、首先我们需要打开SQL Server Managment管理工具,新建一个表。

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

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

⑨ 在MySQL中如何创建一个带输出参数为一个表类型的存储过程

在MySQL中如何创建一个带输出参数为一个表类型的存储过程
首先需要知道“另一个存储过程”的结果集的所有列的类型。
假设“另一个存储过程”的名字是
sp1
,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集
如下
CREATE
PROCEDURE
sp2
AS
DECLARE
@t
table(a
int,b
int,c
int)
INSERT
INTO
@t(a,b,c)
EXEC
sp1
SELECT
*
FROM
@t
使用
SQLSERVER
存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。
创建存储过程
和数据表一样,在使用之前需要创建存储过程,它的简明语法是:
引用:
Create
PROC
存储过程名称
[参数列表(多个以“,”分隔)]
AS
SQL
语句
例:
引用:
Create
PROC
upGetUserName
@intUserId
INT,
@ostrUserName
NVARCHAR(20)
OUTPUT
--
要输出的参数
AS
BEGIN
--
将uName的值赋给
@ostrUserName
变量,即要输出的参数
Select
@ostrUserName=uName
FROM
uUser
Where
uId=@intUserId
END
其中
Create
PROC
语句(完整语句为Create
PROCEDURE)的意思就是告诉SQL
SERVER,现在需要建立一个存储过程,upGetUserName
就是存储过程名称,@intUserId

@ostrUserName
分别是该存储过程的两个参数,注意,在SQL
SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL
SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。
二、存储过程的调用
之前已经创建了一个名为“upGetUserName”的存储过程,从字面理解该存储过程的功能是用来取得某一个用户的名称。存储过程建立好了,接下来就是要在应用程序里调用了,下面看一下在ASP程序里的调用。

⑩ 存储过程参数输入和输出参数有什么作用

无论是输入的参数还是输出的参数,在此过程中都视为一个参数,所以一般情况下对应你定义的参数类型和个数带入,便可调用。

存储过程后面的是参数列表,其实存储过程就是个方法,通过传递参数来指导方法完成。输出参数相当于返回值,会带output关键字。

其它参数要提前赋值,而output不需要提前赋值,只需要提供一个变量,在存储过程执行完的时候,output类型的变量值就会修改,获得返回值,只能通过这个方法获得返回值,而不能像函数一样直接返回结果。因为存储过程是没有返回值的。

(10)带输出参数的存储过程扩展阅读

1、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2、当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

3、存储过程可以重复使用,可减少数据库开发人员的工作量。

4、安全性高,可设定只有某些用户才具有对指定存储过程的使用权。

热点内容
网分脚本 发布:2024-11-19 02:24:39 浏览:697
陌陌加密 发布:2024-11-19 02:24:32 浏览:670
oracle删除数据库表 发布:2024-11-19 02:23:05 浏览:117
玩家国度手机rog5选什么配置 发布:2024-11-19 02:22:17 浏览:340
python文库 发布:2024-11-19 02:21:32 浏览:374
安卓版钱咖怎么样 发布:2024-11-19 02:20:14 浏览:327
php验证码实例 发布:2024-11-19 02:20:12 浏览:538
天龙挖矿脚本 发布:2024-11-19 02:12:19 浏览:23
s71200程序编译二进制文件 发布:2024-11-19 02:06:22 浏览:768
网络文件夹映射 发布:2024-11-19 02:04:55 浏览:235