FOTOS est une table @pathcompleto est le path complet vers le file
set @insertvalues = 'insert into FOTOS values(@count, (SELECT BulkColumn FROM Openrowset( Bulk ''' + @pathcompleto + ''', Single_Blob) as img) , @url)' exec(@insertvalues)
background: c'est dans une boucle et w autre chose mais le problème est qu'il dit @count n'est pas déclaré mais c'est. Je crois que c'est à cause de la dynamic sql (@url est aussi une erreur si je supprime @count)
comment puis-je faire ce travail? il pourrait fonctionner w sp_executesql mais je ne l'ai pas compris aussi bien pour l'utiliser ici
Vous voulez sp_executesql
:
set @insertvalues = ' insert into FOTOS SELECT @count, BulkColumn, @url FROM Openrowset( Bulk ''' + @pathcompleto + ''', Single_Blob) as img'; exec sp_executesql @insertvalues, N'@count int, @url varchar(max)', @count = @count, @url = @url;
J'ai également simplifié l' INSERT
pour en faire un INSERT . . . SELECT
simple INSERT . . . SELECT
INSERT . . . SELECT
INSERT . . . SELECT
.
Note: Je ne sais pas quels sont les types réels pour les colonnes. Ce qui précède est juste une supposition éclairée.
En outre, vous devez toujours inclure les noms de colonnes lorsque vous utilisez INSERT
less que vous ne sachiez vraiment, vraiment, pourquoi vous utilisez le comportement par défaut.