Au revoir la clause VALUES, bonjour SELECT
1 2 3 4 5 6 7 8
| INSERT INTO testing.dbo.Table_1
(
SelectedImages
,Path
)
SELECT BulkColumn
,'D:\desktop\05022006\free_chart1.gif'
FROM OPENROWSET(BULK N'D:\desktop\05022006\free_chart1.gif', SINGLE_BLOB) AS I |
Ce que l'on peut transformer en procédure stockée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| CREATE PROCEDURE usp_image_insert
@_image_path nvarchar(1024)
AS
BEGIN
SET NOCOUNT ON
DECLARE @sql nvarchar(2048)
, @cr nchar(2) = NCHAR(13) + NCHAR(10)
SET @sql = 'SELECT BulkColumn' + @cr
+ ' , ''' + @_image_path + '''' + @cr
+ 'FROM OPENROWSET(BULK N''' + @_image_path + ''', SINGLE_BLOB) AS I'
--PRINT @sql
INSERT INTO testing.dbo.Table_1
(
SelectedImages
, Path
)
EXEC sp_executesql @sql
END |
Il suffit alors d'exécuter :
EXEC dbo.usp_image_insert 'D:\desktop\05022006\free_chart1.gif'
Il va pas y avoir plein d'erreur?
A priori je dirai que non, mais le seul moyen d'en être sûr, c'est de tester
@++
Partager