如何解决使用 SQL 游标 SQL Server 更新和设置
我有一个关于更新表的 sql Server 查询的问题
我使用curser来更新我的表,我收到关于日期和varchar之间转换的错误
错误是
Conversion Failed when converting date and/or time from character string.
我需要帮助。我认为原因是我使用了动态 sql 语句,我尝试替换它但没有。运气
这里是完整的查询
Declare update_cursor
CURSOR LOCAL
FOR
(select disTINCT hospital,dataset,table_name,COLUMN_NAME,source from dbo.input_table where hospital= Hospital_name);
FOR UPDATE of hospital,source
OPEN update_cursor
FETCH NEXT FROM update_cursor INTO
@HospitalName,@DS,@tbl_nm,@clmn_nm,@source_v
WHILE @@FETCH_STATUS = 0
BEGIN
if @source_v = 'A'
begin
set @MaxTimestamp_inSource = N'(select max(SYNC_TIMESTAMP) from '+@tbl_nm+')'
--EXEC sp_Executesql @MaxTimestamp_inSource
end
Else
begin
set @MaxTimestamp_inSource = N'(select max(INSETR_ETL_TS) from '+@tbl_nm+')'
EXEC sp_Executesql @MaxTimestamp_inSource
end
update dbo.input_table
set MaxSynchTimestamp = @MaxTimestamp_inSource
where
agency = @HospitalName AND
dataset = @DS AND
table_name = @tbl_nm AND
column_name = @clmn_nm
FETCH NEXT FROM update_cursor INTO
@HospitalName,@source_v
END
CLOSE update_cursor
DEALLOCATE update_cursor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。