declare @comp char(4)
set @comp='8000'
select * from OPENROWSET('SQLOLEDB', 'server=AAANTS01;uid=test1;pwd=test1',
'select comp_code,dept_code,badge,c_name from test1 where comp_code='+@comp+' and status=''3''')
set @comp='8000'
select * from OPENROWSET('SQLOLEDB', 'server=AAANTS01;uid=test1;pwd=test1',
'select comp_code,dept_code,badge,c_name from test1 where comp_code='+@comp+' and status=''3''')
解决方案 »
- 在SQL2005中,怎样可以更改表的名字?
- 存储过程查询bit型的问题
- SQL server ODBC连接不上,但是sql server服务器ping的到啊?
- 注入注入注入注入....哎!!
- sql server2005安装不上
- 急!这样建索引对不对?
- 如何用vs.net2003将sql的二进制记录读取为word文件?
- 关于定单号设计的问题。
- 新手一问,这个触发器怎么写?
- PB操作access库:SELECT DateDiff('d',startdate,date()) into :ll_term FROM unlock;怎么不对?
- 如何批量删除数据后更新原表???
- 如何写生成每个货号第一条记录的结果集?
set @comp='8000'
declare @sql varchar(2000)
set @sql='select * from OPENROWSET(''SQLOLEDB'', ''server=AAANTS01;uid=test1;pwd=test1'',
''select comp_code,dept_code,badge,c_name from test1 where comp_code='''+@comp+''' and status=''3'')'
exec(@sql)
由于openrowset只支持常量, 不支持表达式和变量. 因此2楼的方法才是对的.