收录日期:2019/01/21 20:21:12 时间:2016/05/24 10:41:46 标签:基础类
我写了如下存储过程:
Create Procedure GetAdd
@InAddress varchar(30)
@OutCount int output
AS
Select @OutCount = Count(*) From [news] where title=@InAddress
Go
编译通过,运行也正常,但我现在想将@InAddress变量的值也打印出来,我改写如下:
Create Procedure GetAdd
@InAddress varchar(30) output
@OutCount int output
AS
Select @OutCount = Count(*) From [news] where title=@InAddress
Go
但编译时出现下列错误提示:
服务器: 消息 170,级别 15,状态 1,过程 GetAdd,行 3
第 3 行: '@OutCount' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,过程 GetAdd,行 5
必须声明变量 '@OutCount'。
但我的代码中明明已经声明了@OutCount变量了,请教各位,参数中是否只能有一个参数可以是返回参数的?如果可以有多个参数为返回参数的,那正确的代码应该怎么写呢?望各位指教,谢谢。
參數間掉了逗號:
Create Procedure GetAdd
@InAddress varchar(30) output,
@OutCount int output
AS
Select @OutCount = Count(*) From [news] where title=@InAddress
Go
Create Procedure GetAdd
@InAddress varchar(30) output
@OutCount int output
AS
declare @sql
select @sql='Select'+ @OutCount+' = Count(*) From [news] where title='+@InAddress
exec sp_executesql @sql,N'declare @InAddress varchar(30) ',@InAddress out
Go
存储过程中声明一个变量既用作输入参数,又用作输出参数应该不行的。
你可以多声明一个变量,把输入变量放进去,然后传出这个变量就可以了。
Create Procedure GetAdd
@InAddress varchar(30),
@InAddres  varchar(30) output,
@OutCount int output
AS
select @InAddres=@InAddress
Select @OutCount = Count(*) From [news] where title=@InAddress
Go

试一试!
--一个简单的例子
--建立存储过程
use pubs
go
Create Procedure GetAdd
@InAddress varchar(30),
@OutCount  int output,
@OutCount2 int output
AS
Select @OutCount = Count(*) From [authors] where [au_lname]=  @InAddress
Select @OutCount2= @OutCount+1
Go

--执行存储过程
declare @a int
declare @b int
exec getadd @InAddress='White',@OutCount=@a output,@OutCount2=@b output
print @a
print @b

--删除存储过程
drop procedure GetAdd

VB入门:用mscomm写的程序在没有装VB的机上怎么用啊~~ 这个一定要装jmf才行吗 心空论坛v2.5.3正式版发布。 进程内com组件(dll)为何不能放在中文目录下? HttpClient问题 关于如何在java代理中调用jdk1.4的应用。(太有难度了!!!我解决不了!!!!谢谢!!!!) 如何让DataGrid中列标题居中显示? 关于C++内联汇编的 疑问 VS2005中CreateToolWindow异常 关于继承的小问题 新手:如何产看GetLastError得到的错误代码的内容是什么? 诺顿病毒库升级问题!!!!!在线急等!!!!!!!!!!!! 【版务帖 - 2006(一)】 当用timer作定时器,用label来显示剩余时间的时候,屏幕一闪一闪的怎么回事? 求sql语句:分组中的最大值 如何在EXCEL里计算一个单元格里某个字符出现的次数? 上网问题 百万网格? 急!!!!关于2410!!!!现有几个问题请教: 在线等候!!多视图显示问题?请教大侠 !!急!!!!!!!!!!! 倾家荡产问问题!不得到答案决不罢休!(每天加10分) 鏌ヨ杞欢鎬庝箞涓嶅彲浠ユ墽琛?鍦ㄧ嚎绛夛紵 使用tomcat做服务器,启动时同时启动某个类的运行,相当于任务定制,该怎么设置? 菜鸟问菜问题,在线等 现在哪里还有卖正版的VB6或者VSTUDIO6啊? query转义编码问题 如何提取一个字符串的前几位啊? 关于exit(0) 如果在BCB2006中安装BusinessSkinForm控件,或哪有能在BCB2006中用的BusinessSkinForm? 关于JTable的问题,100分