问题描述
我有一个关于更新表的 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 (将#修改为@)