gpt4 book ai didi

sql - 以 View 名称和日期作为参数的动态存储过程

转载 作者:行者123 更新时间:2023-12-01 13:49:04 25 4
gpt4 key购买 nike

我创建了一个存储过程,它将 View 名称和日期作为参数,并检查 View 中是否有该日期的记录。但是,我收到以下错误

'Operand type clash: date is incompatible with int'.

我希望如果记录存在,1 将被返回,否则 0 将被返回,我可以使用它在另一个存储过程中做出决定。

代码如下

CREATE PROCEDURE [dbo].[usr_RecordExist]
-- Add the parameters for the stored procedure here
@ViewName SYSNAME,
@TransDate Date
--<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @DATEVARCHAR nvarchar(4000);
SET @DATEVARCHAR = CONVERT(NVARCHAR, @TransDate, 103);
-- Insert statements for procedure here
DECLARE @SQLCommand NVARCHAR(MAX) =
N'SELECT COUNT(SYMBOL) FROM ' + QUOTENAME(@ViewName) + 'WHERE TRANSDATE = ' + '' + @DATEVARCHAR + '';

EXECUTE [dbo].[sp_executesql]
@sqlCommand;
END

最佳答案

表达式 + '' 什么都不做,使用 + '''' 添加单引号。

...  + '''' + @DATEVARCHAR + '''';

关于sql - 以 View 名称和日期作为参数的动态存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33311971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com