我现在想写一个存储过程,假设这个存储过程有以下变量
@loginname nvarchar(50),
@articleno nvarchar(50),
@pagecount int,
@figcount int,
@tablecount int
我查询的时候有可能只需要以上的一个变量,如@loginname,其他的用不着了
但是我再往里面添值得时候还要填五个数据值,不填就会报错
我想请问各为高手这种情况该如何解决
@loginname nvarchar(50),
@articleno nvarchar(50),
@pagecount int,
@figcount int,
@tablecount int
我查询的时候有可能只需要以上的一个变量,如@loginname,其他的用不着了
但是我再往里面添值得时候还要填五个数据值,不填就会报错
我想请问各为高手这种情况该如何解决
@loginname nvarchar(50) = '',
@articleno nvarchar(50) ='',
@pagecount int = 0,
@figcount int,
@tablecount int = 0
AS
BEGIN
SELECT TOP 1 * FROM sysobjects
END
GO
EXEC dbo.M NULL,NULL,NULL,20,NULLDROP PROC M 这个是没有办法的,你必须把参数输够!要不就使用一个整体参数,合并成字符串,然后在存储过程中处理!
@articleno nvarchar(50)=null,
@pagecount int =null,
@figcount int =null,
@tablecount int =null
--在条件中加上null的条件
where loginname=@loginname or loginname=null
and articleno=@articleno or articleno=null--这样就可以了