sql带参数的存储过程
一、简单的储存过程:
1、创建一个存储过程
create procere GetUsers()
begin
select * from user;
end;12345
2、调用存储过程
call GetUsers();12
3、删除存储过程
drop procere if exists GetUsers;
二、带参数的存储过程
1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;
2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出
create procere GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以@开始) , 如下所示 :
call GetScores(@minScore, @avgScore, @maxScore);12
4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量@minScore, @avgScore, @maxScore, 然后即可调用显示该变量的值 :
select @minScore, @avgScore, @maxScore;
5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :
create procere GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id = userID
into userName;
end;12345678910
6、调用存储过程 :
call GetNameByID(1, @userName);
select @userName;123
⑵ sql server 中 一个要输入参数和输出参数的存储过程。
1、首先我们需要打开SQL Server Managment管理工具,新建一个表。
⑶ sql 存储过程 怎么传入参数
执行带参数的存储过程的方法如下:
Exec sp_configure 'allow updates',1 --允许更新系统表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是两个例子。
SQL Server中执行带参数的存储过程的方法是:
EXEC 存储过程名字 '参数1','参数2',数值参数
EXEC 是一个关键字。
字符串参数使用单引号括起来,数值参数不需要使用单引号
⑷ SQL一个带参数的存储过程写法
你的这个做法没有意义,一般存储过程主要是针对sql语句执行效率低和数据完整性等来说的,你用这种方法就单单为了查询一个表中的TOP信息,这样与存储过程的有点恰恰相反,因为这个方法实现存储过程中取出你所要的信息,同是也能用同样的方法更简便的从表中取出你要的信息
⑸ sql 怎么执行带输出参数的存储过程
1、
对象资源管理器
中选中你要执行的存储过程
2、右击选择
对话框中的执行存储过程...
3、在出现的对话框中填入你参数的值
点击确定
⑹ sql数据库中怎样调用带参数的存储过程
在sql
server中
执行带参数的存储过程
exec+空格+存储过程名+空格+参数
多个参数的话用逗号分隔
传出参数要加output
例如:
exec
P_GetIntegratedFluxOneMoment
@StartTableName,@ColName,@StartTime,@StartValue
output
其中@StartTableName,@ColName,@StartTime,@StartValue都是前面已经定义好的变量
传入参数也可以不用变量
直接写值也行
程序中调用的话看你用什么语言了
各个语言的调用方法不一样
⑺ 动态sql中如何执行 带参数的存储过程
exec sp_executesql @sqlGetCount,N'@Counts int out ',@Counts out
实际上 就是通过这个sp_executesql来执行存储过程时,会定义变量 @Counts ,然后执行你的语句把值放到@Counts 里,最后返回。
另外,本质上这个和exec语句是一样的都是动态执行sql。
⑻ sql怎么调用带参存储过程
应该是这样的。
RunProcere这个方法,调用存储过程,
storedProcName
存储过程名
parameters
存储过程参数列表
tableName
这个表名指的是,你的存储过程对某一张表做了数据的保存或修改,然后通过这个参数来把这个表的数据查出来,fill方法的作用就是
select
“tableName”这个表,然后把结果集放入DataSet中并返回。
⑼ SQL Server 带参数的存储过程
SQL
Server-存储过程(Procere),带入参数和出参数
http://www.cnblogs.com/ylbtech/archive/2012/08/14/2638257.html
上面有教程,自己参考下使用。