首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OPENROWSET不接受变量?

OPENROWSET不接受变量?
EN

Stack Overflow用户
提问于 2017-02-27 16:27:36
回答 1查看 178关注 0票数 0

Server 2008 R2

这不管用:

代码语言:javascript
复制
IF @exists = 1 
    SELECT
        @pic = pImage.BulkColumn
    FROM
        OPENROWSET(BULK @fn, SINGLE_BLOB) AS pImage
ELSE
    SET @pic = NULL

除非我将@fn ( NVARCHAR)替换为像N'C:\path\to\some.jpg'.这样的硬编码字符串但一定有办法在那里使用变量,对吧?

EN

回答 1

Stack Overflow用户

发布于 2017-02-27 16:38:41

我建议使用动态sql,如下所示:Using a Variable in OPENROWSET Query

就你的情况而言,会是这样的:

代码语言:javascript
复制
DECLARE @sql VARCHAR(MAX)
IF @exists = 1 
SET @sql = 'SELECT pImage.BulkColumn FROM OPENROWSET(BULK ''' + @fn + ''', SINGLE_BLOB) AS pImage'

sp_execute @sql
--Here you would need to add something to retreive @pic (I didn't add it since I don't know what @pic is. You can guide you with this link https://msdn.microsoft.com/en-us/library/ms188001.aspx
ELSE 
SET @pic = NULL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42490785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档