我想以这种方式插入图片:
DECLARE @lpath varchar(100)
SET @lpath = 'd:\Photo\5604.jpg'
--insert into Photos(id, Photo, Path)
SELECT
4144, *, @lpath
FROM
OpenRowSet(BULK @lpath, Single_blob) AS i
但它不起作用
如果我执行这样的代码:
SELECT
1, *, @lpath
FROM
OpenRowSet(BULK N'd:\Photo\5604.jpg', Single_blob) AS i
效果很好。
如何以第一种方式执行脚本?
答案 0 :(得分:0)
您无法在OpenRowSet
中使用变量,请尝试使用动态SQL,如下所示:
DECLARE @lpath NVARCHAR(100)
SET @lpath = 'd:\Photo\5604.jpg'
DECLARE @sql NVARCHAR(MAX)
SET @sql='SELECT 4144, *, ''' + @lpath + '''
FROM OpenRowSet(BULK ''' + @lpath + ''', Single_blob) AS i'
EXEC(@sql)