我有兩個表。表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? –