SQL Server 2008:如何在表中为每个条目插入一个图像?

问题描述:

在我的SQL Server Management Studio中2008年的项目,我创建了一个名为SQL Server 2008:如何在表中为每个条目插入一个图像?

Catalog (
    catalogId NOT NULL PRIMARY KEY, 
    catalogName VARCHAR(20), 
    CatalogImage VARBINARY(MAX) 
    ) 

表3项:

catalogId | catalogName | catalogImage 
    1  |  jon  |  NULL 
    2  |  jim  |  NULL 
    3  |  joe  |  NULL 

我希望在我的表每每个条目添加一个图像。 用于插入图像,例如用于J在以下查询:

INSERT INTO Catalog (catalogImage) 
SELECT BulkColumn FROM OPENROWSET(Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB 
WHERE catalogId=1 

产生错误信息“无效的列名称采用catalogId'。”

什么是正确的查询?

非常感谢你提前, 格雷格

貌似要更新的行而不是插入新的。尝试(未经测试):

UPDATE Catalog set catalogImage = (SELECT BulkColumn FROM OPENROWSET(Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB) WHERE catalogId = 1 
+0

非常感谢您user495812和sunn0!你们俩都是对的! – Greg 2010-11-03 19:21:08

既然你已经有条目使用UPDATE而不是INSERT

UPDATE Catalog SET catalogImage = 
(SELECT BulkColumn FROM OPENROWSET(Bulk 'C:\images\jon.bmp', SINGLE_BLOB) AS BLOB) 
WHERE catalogId=1 

(未经测试以及)

+0

非常感谢你user495812和sunn0!你们俩都是对的! – Greg 2010-11-03 19:20:20