当前位置: 代码迷 >> Sql Server >> SQL 字符串内加变量的有关问题
  详细解决方案

SQL 字符串内加变量的有关问题

热度:92   发布时间:2016-04-24 23:45:56.0
SQL 字符串内加变量的问题
跨服务器查询数据。如下:

exec sp_addlinkedserver 'link','','SQLOLEDB','192.168.1.4'
exec sp_addlinkedsrvlogin 'link','false',null,'sa','******'
------添加链接服务器
declare @depid1 varchar(50)
set @depid1='p1000'
select * FROM openquery(link,'SELECT *  FROM database.dbo.james_dep where depid='+@depid1+'') 


如果无where depid='+@depid1@+'条件,则可以成功查询数据。添加条件查询后,则报错‘消息 102,级别 15,状态 1,第 5 行'+' 附近有语法错误。’
where depid='+@depid1+'   这个条件有错么?

------解决方案--------------------
应该是少引号了
------解决方案--------------------
呵呵,那就是变量也不行,只能干用字符串啊,这个函数就是这样的语法没办法
如果实在是想拼接的话,可以用exec('')这样的形式来执行
  相关解决方案