0

我想在 SQL Server 2005 中编写一个查看表中最新条目的过程。如果该条目发生在一个多星期前,我想创建一个新条目。如果没有,我想更新最新的。

DECLARE @MaxVal TABLE (Date DATETIME)

INSERT INTO @MaxVal (Date) 
(SELECT MAX(Date)
FROM schema.TABLE_TO_UPDATE)

IF [@MaxVal].Date > '2013-01-01'
    PRINT 'New entry'
ELSE
    PRINT 'Update the entry'

我不断收到以下错误消息:

消息 4104,级别 16,状态 1,第 9 行
无法绑定多部分标识符“@MaxVal.Date”。

我查过那条消息,但大多数人似乎是在参考 JOINS 时得到它的。知道为什么会在这里发生吗?

4

1 回答 1

1

您的 IF 语句正在引用表中的列,如果没有关联的查询,这是无法完成的。你可以试试这个

IF (select [@MaxVal].Date from @MaxVal) > '2013-01-01'

这将返回列的值并将其与日期常量进行比较。

于 2013-02-13T00:03:53.243 回答