TSQL-вставка в таблицу с массовой колонкой - требуется две вставки массовой колонки в одну строку
TSQL-вставка в таблицу с массовой колонкой - требуется две вставки массовой колонки в одну строку
Мне нужно выполнить запрос с двумя вставками массовых столбцов в одну строку.
Я стараюсь:
Тем не менее, я получаю сообщение об ошибке: Неверное имя объекта "BulkColumn". Это просто проблема синтаксиса или это более фундаментальное правило (например, можно добавить только один массовый столбец на оператор)?
Пример: в окне редактирования SSMS.
INSERT INTO [table1] ([id1], [bulk1],[bulk2]
SELECT '123',
BulkColumn
FROM Openrowset( Bulk 'C:\bulkDir1\a1.jpg', Single_Blob) as a1,
BulkColumn
FROM Openrowset( Bulk 'C:\bulkDir2\b1.jpg', Single_Blob) as a2
Он говорит (в "волнистой ошибке" в окне редактирования SSMS.):
Неверное имя объекта 'BulkColumn'
1 ответ
Решение
Вы можете сделать это таким образом, ваш синтаксис немного отличается, чтобы получить оба столбца:
CREATE TABLE table1(id1 nvarchar(60),
[bulk1] varbinary(max), [bulk2] varbinary(max));
GO
INSERT INTO table1([id1], [bulk1],[bulk2])
SELECT
'123' AS FileName,
pic1.BulkColumn ,
pic2.BulkColumn
FROM OPENROWSET(BULK N'C:\test\a1.jpg', SINGLE_BLOB) AS pic1
inner join OPENROWSET(BULK N'C:\test\b1.jpg', SINGLE_BLOB) AS pic2
on 1=1