gpt4 book ai didi

sql - 将表达式传递给存储过程时, 'minute' 附近的语法不正确

转载 作者:行者123 更新时间:2023-12-04 19:57:21 26 4
gpt4 key购买 nike

我有以下代码:

insert into @Precalculo (descripcion, Valor) 
exec dbo.GetRankingTotalizador
@Fecha,
DateAdd(minute, (-1), DateAdd(day, 1, @Fecha)),
@cadenas,
@familias

insert into PrecalculoComparativaSemanal
select @Fecha, @cadenas, @familias, [1], [2], [3], [4] FROM
(select Descripcion, Valor from @Precalculo) p
PIVOT (min(Valor) FOR Valor in ([1], [2], [3], [4])) as pvt

它给我一个错误:

Msg 102, Level 15, State 1
Incorrect syntax near 'minute'.

最佳答案

首先,您不能将表达式用作存储过程的参数。尝试:

DECLARE @d DATETIME;
SET @d = DateAdd(minute, (-1), DateAdd(day, 1, @Fecha));

insert into @Precalculo (descripcion, Valor)
exec dbo.GetRankingTotalizador @Fecha, @d, @cadenas, @familias;

接下来,根据您的 SQL Server 版本,@table 变量并不总是 INSERT/EXEC 的有效目标。我忘记了这是什么时候生效的,但您可能需要改用#temp 表。

最后,强烈推荐:

insert into PrecalculoComparativaSemanal (missing, column, list)

关于sql - 将表达式传递给存储过程时, 'minute' 附近的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632831/

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