2017-07-07 3 views
0

insert TSQL dans la table avec bulkcolumn - besoin de deux inserts bulkcolumn en même ligneTSQL insérer dans la table avec bulkcolumn - besoin de deux inserts bulkcolumn en même ligne

J'ai besoin d'exécuter une requête avec deux inserts bulkcolumn dans la même rangée.

Je suis en train:

Cependant, je reçois l'erreur: Nom d'objet incorrect « BulkColumn » Est-ce juste un problème de syntaxe, ou est-ce une règle plus fondamentale (comme on ne peut insérer un bulkcolumn par déclaration)? Exemple: dans la fenêtre d'édition 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 

Il dit (dans la « erreur gribouillis » dans l'édition fenêtre SSMS.):
Nom d'objet incorrect « BulkColumn »

+1

Qu'est-ce qu'une erreur irrégulière? –

+0

ce que SSMS met dans la fenêtre d'édition quand on travaille sur une requête – JosephDoggie

Répondre

1

Vous pouvez le faire de cette façon, vous la syntaxe est juste un peu off pour obtenir les deux colonnes:

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 
+0

Cela fonctionne vraiment - les gens peuvent également souhaiter voir: https://stackoverflow.com/questions/3306096/combining-insert-into-and-with- cte – JosephDoggie