我正在尝试更新表中的特定列,但由于 SQL 编译时列名 IssueTimeUTC 实际上并不存在,因此出现错误。这是我的示例代码:
WHILE @startissuetime<='23:30'
BEGIN
ALTER TABLE Intraday_Forecast_temp
ADD IssueTimeUTC SMALLDATETIME
UPDATE Intraday_Forecast_temp
SET IssueTimeUTC=CAST(@tempdate AS SMALLDATETIME)
WHERE DateTimeUTC>CAST(@tempdate AS SMALLDATETIME)
UPDATE Intraday_Forecast_temp
SET IssueTimeUTC=Dateadd(d,-1,CAST(@tempdate AS SMALLDATETIME))
WHERE
Run Code Online (Sandbox Code Playgroud)
DateTimeUTC<=CAST(@tempdate AS S MALLDATETIME) END
我已经阅读了多个类似的帖子,但我无法做任何事情,因此我恳请您是否可以帮助我。
我得到的错误是这样的:
消息 207,级别 16,状态 1,第 56 行无效的列名称“IssueTimeUTC”。
更新:所以基本上我无法找到这个特定问题的确切解决方案,但我只是找到了一种“绕过”问题的方法。所以这是我使用的更新代码。
WHILE @startissuetime<='23:30'
BEGIN
ALTER TABLE Intraday_Forecast_temp
DROP COLUMN IssueTimeUTC
--------
BULK INSERT.....
--------
ALTER TABLE Intraday_Forecast_temp
ADD IssueTimeUTC SMALLDATETIME
UPDATE Intraday_Forecast_temp
SET IssueTimeUTC=CAST(@tempdate AS SMALLDATETIME)
WHERE DateTimeUTC>CAST(@tempdate AS SMALLDATETIME)
UPDATE Intraday_Forecast_temp
SET IssueTimeUTC=Dateadd(d,-1,CAST(@tempdate AS …Run Code Online (Sandbox Code Playgroud) sql-server ×1