我是SQL新手,但正在嘗試學習其邏輯,我假設批量插入將插入所有行,在這種情況下是blob。 (pdf文件)是我的代碼,但我想要完成的是,插入一個PDF文件,我把SQL服務器放在一個具有我指定的匹配主鍵的行中。到目前爲止我缺少where子句來指定PK在特定行上的Openrowset批量插入
Declare @sql varchar(max)
Declare @filePath varchar(max)
Set @filePath = 'C:\iphone.pdf'
Set @sql='INSERT INTO HDData.dbo.PurchasedCellPhoneInfo(Receipt) SELECT * FROM OPENROWSET(BULK '''+ @filePath+''', SINGLE_BLOB) AS BLOB'
exec(@sql)
我可以使用更新的t-SQL查詢而不是insert嗎?以及如何刪除我要插入此Blob的特定行的位置? 任何幫助,將不勝感激。
我也曾經嘗試這樣做,下面的@ misterPositive的建議爲更新查詢:
Declare @criteria varchar(50)
SET @criteria ='352014075399147'
UPDATE HDData.dbo.PurchasedCellPhoneInfo SET Receipt =
(SELECT Receipt FROM OPENROWSET (BULK 'C:\352014075399147.pdf, SINGLE_BLOB') a)
WHERE(IMEI = @criteria)
我這樣做收到此消息: 無論是格式文件或三個選項之一SINGLE_BLOB,SINGLE_CLOB,或SINGLE_NCLOB必須指定。我喜歡這個更新查詢,因爲它似乎適合我試圖做什麼。
這是使用SQL Server嗎? –