我正在尝试使用临时表并遇到问题。
这是我要完成的一些超级简化的代码:
IF(Object_ID('tempdb..#TempTroubleTable') IS NOT NULL) DROP TABLE #TempTroubleTable
select 'Hello' as Greeting,
NULL as Name
into #TempTroubleTable
update #TempTroubleTable
set Name = 'Monkey'
WHERE Greeting = 'Hello'
select * from #TempTroubleTable
在尝试更新语句时,我收到错误:
将 varchar 值“Monkey”转换为数据类型 int 时转换失败。
我可以理解为什么临时表可能不希望我用 varchars 填充该列,但为什么它假定为 int?有没有一种方法可以让列期待 varchar(max) 但仍然使用 NULL 对其进行初始化?