sql存储过程参数
参数定义
单个参数
1>
CREATE
PROCEDURE
HelloWorld1
2>
@UserName
VARCHAR(10)
3>
AS
4>
BEGIN
5>
PRINT
'Hello'
+
@UserName
+
'!';
6>
END;
7>
go
1>
DECLARE
@RC
int;
2>
EXECUTE
@RC
=
HelloWorld1
'Edward'
;
3>
PRINT
@RC;
4>
go
HelloEdward!
0
IN、OUT、IN
OUT
注:
SQL
Server
的
OUTPUT
需要写在变量数据类型后面。
SQL
Server
没有
IN
OUT
关键字
OUTPUT
已经相当于
IN
OUT
了。
1>
CREATE
PROCEDURE
HelloWorld2
2>
@UserName
VARCHAR(10),
3>
@OutVal
VARCHAR(10)
OUTPUT,
4>
@InoutVal
VARCHAR(10)
OUTPUT
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@InoutVal
+
'!';
8>
SET
@OutVal
=
'A';
9>
SET
@InoutVal
=
'B';
10>
END;
11>
go
1>
2>
DECLARE
@RC
int,
@OutVal
VARCHAR(10),
@InoutVal
VARCHAR(10);
3>
BEGIN
4>
SET
@InoutVal
=
'~Hi~';
5>
EXECUTE
@RC
=
HelloWorld2
'Edward',
@OutVal
OUTPUT,
@InoutVal
OUTPUT;
6>
PRINT
@RC;
7>
PRINT
'@OutVal='
+
@OutVal;
8>
PRINT
'@InoutVal='
+
@InoutVal;
9>
END
10>
go
Hello
Edward~Hi~!
0
@OutVal=A
@InoutVal=B
参数的默认值
1>
CREATE
PROCEDURE
HelloWorld3
2>
@UserName
VARCHAR(10),
3>
@Val1
VARCHAR(20)
=
'
Good
Moning,',
4>
@Val2
VARCHAR(20)
=
'
Nice
to
Meet
you'
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@Val1
+
@Val2
+
'!';
8>
END;
9>
go
1>
2>
DECLARE
@RC
int;
3>
BEGIN
4>
EXECUTE
@RC
=
HelloWorld3
'Edward';
5>
PRINT
@RC;
6>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,';
7>
PRINT
@RC;
8>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,',
'
Bye';
9>
PRINT
@RC;
10>
END
11>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
指定参数名称调用
此部分使用
“参数默认值”那一小节的存储过程。
用于说明当最后2个参数是有默认的时候,如何跳过中间那个。
1>
DECLARE
@RC
int;
2>
BEGIN
3>
EXECUTE
@RC
=
HelloWorld3
'Edward';
4>
PRINT
@RC;
5>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,';
6>
PRINT
@RC;
7>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,',
@Val2='
Bye';
8>
PRINT
@RC;
9>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val2='
HeiHei
';
10>
PRINT
@RC;
11>
END
12>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
Hello
Edward
Good
Moning,
HeiHei
!
0
B. sql存储过程参数可省略吗 存储过程中参数都有默认值,调用时可不可以不传参数呢
可以,默认参数放存储过程后面,等调用的时候,默认参数不填就可以直接运行了
C. SQL存储过程,写参数
CREATE DEFINER=`root`@`%` PROCEDURE `Procere`( IN beginThisMonth varchar(200),IN endThisMonth varchar(200))
BEGIN
SELECT
*
FROM
ceshi
WHERE
shijian between @beginThisMonth and @endThisMonth;
END
设置两个储存过程的参数,
IN
OUT
INOUT
这几个关键词
D. sql数据库中怎样调用带参数的存储过程
在sql
server中
执行带参数的存储过程
exec+空格+存储过程名+空格+参数
多个参数的话用逗号分隔
传出参数要加output
例如:
exec
P_GetIntegratedFluxOneMoment
@StartTableName,@ColName,@StartTime,@StartValue
output
其中@StartTableName,@ColName,@StartTime,@StartValue都是前面已经定义好的变量
传入参数也可以不用变量
直接写值也行
程序中调用的话看你用什么语言了
各个语言的调用方法不一样
E. SQL Server 如何执行 带参数的 存储过程
带参数的存储过程执行方法如下:
(1)调用通用数据访问类:SqlHelper,执行SqlHelper.ExecuteNonQuery()方法
(2)使用示例:SqlHelper.ExecuteNonQuery(conn,CommandType.StoredProcere,sqlexec,myparm)
(3)其中传递的4个参数如下:
“conn”:为链接字符
“CommandType.StoredProcere”:表示要执行的SQL存储过程类型
“sqlexec”:要执行的SQL存储过程
“myparm”:为传递的参数,它需要参数的初始化、赋予参数名称、设定类型、长度和值等
(4)当ExecuteNonQuery()执行select 查询时,结果总是返回-1。ExecuteNonQuery()执行Update、Insert和Delete语句时,返回值为该命令所影响的行数。
F. sql server 中 一个要输入参数和输出参数的存储过程。
1、首先我们需要打开SQL Server Managment管理工具,新建一个表。
G. sql怎么调用带参存储过程
应该是这样的。
RunProcere这个方法,调用存储过程,
storedProcName
存储过程名
parameters
存储过程参数列表
tableName
这个表名指的是,你的存储过程对某一张表做了数据的保存或修改,然后通过这个参数来把这个表的数据查出来,fill方法的作用就是
select
“tableName”这个表,然后把结果集放入DataSet中并返回。
H. sql存储过程 输出参数
SQL存储过程输出参数:
--===================【创建存储过程】=====================
USE[Message]
GO
/******Object:StoredProcere[dbo].[读取外部数据库查询]ScriptDate:10/24/201205:39:16******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
--=============================================\Working没有变1,错误码没有测试,计划时间测试,企业名称
createPROCEDURE[dbo].[数据库查询]
@SmsContentvarchar(20)='1231',--输入参数
@bj1intout--输入出参数
AS
BEGIN
SELECT@bj1=count(Id)fromsss
END
--===============【调用】==================
USE[Message]
DECLARE@return_valueint
EXEC[dbo].[数据库查询]'1231',@return_valueoutput
SELECT@return_value
I. sql 存储过程 怎么传入参数
执行带参数的存储过程的方法如下:
Exec sp_configure 'allow updates',1 --允许更新系统表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是两个例子。
SQL Server中执行带参数的存储过程的方法是:
EXEC 存储过程名字 '参数1','参数2',数值参数
EXEC 是一个关键字。
字符串参数使用单引号括起来,数值参数不需要使用单引号