SQL server简单的存储过程问题?

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:10:48
如何声明一个变量名带有多个默认值.!
比如@SecName varchar(20)='java' or 'C#' or 'Sql' --默认参数
这样声明是错误的.!

假如调用不输入参数则它就用默认的参数.! 该怎么声明多个默认参数.
麻烦大家说下.谢谢啦.

--创建存储过程
create proc prco_find4
@name varchar(10), --用来输入用户名称的参数
@SecName varchar(20)='java' or 'C#' --默认参数
@bbsReply int output, --发贴数量<输出参数>
@bbsTopic int output --主贴数量<输出参数>
as
set NOCOUNT ON --不显示行号
declare @id int --获取用户对应的编号;
select @id=UID from dbo.bbsUsers where Uname=@name
if exists(select * from dbo.bbsTopic where TuID=@id)
begin
select @bbsTopic=count(*) from dbo.bbsTopic where Tuid=@id --获取主贴的数量
print @name+'发帖如下所示:'
select 发帖时间=convert(varchar(10),Ttime,108),点击率=TclickCount,发帖主题=Ttopic ,发帖内容=Tcontents
from dbo.bbsTopic where TuID=@id
end
else
begin
set @bbsTopic =0
print @name+'没有发过主帖'
end
GO

你参数就算给默认值了 在数据库里用exec调用的话 也是需要给的。。在程序里调用是不用给 的。。我在你的存储过程里也没见你调用@secName 噶嘛用的。。。用or赋值那个也不可以

@SecName varchar(20)='java' or 'C#' --默认参数
默认只能指定一个吧..

不行!