我使用链接服务器连接AS400 DB2。
例如:选择查询可以工作
select *
from openquery([DB2], 'select t1.* from lib.table01 t1
fetch first 1 rows only')
但我想使用查询
Create Alias Library.T_temp For Library.T1 (MemberName)
在SQL Server中。
它返回了一个错误,因为它没有返回行。
如下(将返回错误(:
Select * from OpenQuery([DB2],' Create Alias...')
Update OpenQuery([DB2],' Create Alias...')
有什么方法可以做到这一点吗?
感谢
不要尝试。。
您的openquery()
是首选解决方案。
通过使用openquery()
,SQL语句被传递到Db2并在那里运行。由于包含了fetch first 1 rows only
,因此只返回1行。
查询表
select TOP 1 t1.*
from db2.myibmi.lib.table01 t1
offset 0 rows
first first 1 row only
将实际将所有行拉回到SQL Server,然后在SQL Server上进行筛选。(至少我知道当包含WHERE
子句时它是这样使用的。我认为TOP
并没有更好(