我有两个表。表A和表B。
TableA包含一个varbinary(max)列 - 名为[BinaryA] TableB包含一个包含每个varbinary卷的列(名为“Volume”,类型为“Long”)。tsql - 从选择语句更新表
,以便选择所有卷我查询
SELECT ID, MyVolume = DATALENGTH([Binary])
FROM [VAULT].[TABLEA]
比,我想它的体积来更新tableB的。
我接着写
update [TableB]
set [VOLUME] = (SELECT MyVolume = DATALENGTH([Binary])
FROM [VAULT].[TABLEA] ab
WHERE id = ab.[Id])
我收到比
Cannot insert the value NULL into column 'Volume', table 'MySchema.Asset';
column does not allow nulls. UPDATE fails.
虽然我没有收到任何空当我运行
SELECT ID, MyVolume = DATALENGTH([Binary])
FROM [VAULT].[TABLEA]
TableA和TableB有关吗?如果您的子查询返回多行,则将您的VOLUME设置为您的子查询将失败。你是否试图将tableA加入tableB? –