如果创建的日期时间为空或其中没有值,我想返回整个表。如果它包含日期,我想返回大于该日期的表数据。在下面的代码中,我提交了一个代码,但是当有参数时它会提供数据,但是会显示类似此过程的错误SelectRotarian_AllByCreatedDatetime
过程或函数SelectRotarian_AllByCreatedDatetime
期望参数@createdDateTime
,但未提供该参数。
(影响1行)
ALTER PROCEDURE [dbo].[SelectRotarian_AllByCreatedDatetime]
@createdDateTime varchar(50)
AS
BEGIN
SET NOCOUNT ON;
if (Coalesce(@createdDateTime,'') = '')
begin
select [id]
,[surName]
,[firstName]
,[secondName]
, [address]
, [gender]
,[picture]
,[email]
,[phoneNumber]
,[DOB]
,[vocation]
,[bloodGroup_id]
,[club_id]
,[createdDateTime]
FROM [rotary_rotarian]
end
else
begin
SELECT[id]
,[surName]
,[firstName]
,[secondName]
, [address]
, [gender]
,[picture]
,[email]
,[phoneNumber]
,[DOB]
,[vocation]
,[bloodGroup_id]
,[club_id]
,[createdDateTime]
FROM [rotary_rotarian]
where [createdDateTime] > CAST(@createdDateTime AS DateTime)
end
END
所以请帮帮我
错误消息表明:使用当前的存储过程,您必须传递一个参数。即使您传递了空参数或NULL参数,您仍然必须传递参数。获得错误的唯一方法是完全不传递参数的情况下调用该过程。
如果即使没有传递任何参数也要使存储过程正常工作,则必须为该参数指定一个默认值,如下所示:
ALTER PROCEDURE [dbo].[SelectRotarian_AllByCreatedDatetime]
@createdDateTime varchar(50) = ''
AS
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句