如何使用OpenQuery在SQL Server中创建别名(IBM DB2)



我使用链接服务器连接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并没有更好(

最新更新