这是一个旧的线程,仍然是搜索结果列表中的第一个,我想加强以前的回应: 有时您只需要创建别名作为一次性数据库分析,然后您希望创建别名并在查询后立即将其删除;您还拥有一个包含许多表的数据库库,并且不希望在每个查询中都限定该库,因此您使用了SETSCHEMA;我喜欢使用QTEMP库来创建别名,因为IBM i AS 400服务器上的QTEMP本质上是用于临时对象的:
set schema=mylibrary;
create alias qtemp.aliasx for table1(membera);
create alias qtemp.aliasy for table2(memberb);
select * from qtemp.aliasx;
select * from qtemp.aliasy;
drop alias qtemp.aliasx;
drop alias qtemp.aliasy;
5条答案
按热度按时间odopli941#
可以使用create alias命令创建别名:
这将允许您使用别名对该成员运行sql,就像对任何其他文件一样:
请记住,别名在会话结束后会一直存在,它们不是临时的。因此,如果完成后不需要别名,请在QTEMP中创建别名,或者在完成后显式删除别名:
高温
zf9nrax12#
建立成员的SQL别名并查询别名,请参阅此页面的范例。
rjee0c153#
SQL别名
OS/400 R430
和更高版本支持SQL
alias语句。为每个必须访问的成员创建别名,然后从应用程序引用别名。别名是持久性对象--只能创建一次。创建ALIAS
时,CREATE ALIAS
中引用的成员不必存在。任何SQL
工具(例如OS/400
、i5/OS interactive SQL (STRSQL)
或iSeries Navigator's Run SQL Scripts
,可用于创建别名,例如:http://www-01.ibm.com/support/docview.wss?uid=nas1f1eaeecc0af19cc38625669100569213
jw5wzhpr4#
这是一个旧的线程,仍然是搜索结果列表中的第一个,我想加强以前的回应:
有时您只需要创建别名作为一次性数据库分析,然后您希望创建别名并在查询后立即将其删除;您还拥有一个包含许多表的数据库库,并且不希望在每个查询中都限定该库,因此您使用了SETSCHEMA;我喜欢使用QTEMP库来创建别名,因为IBM i AS 400服务器上的QTEMP本质上是用于临时对象的:
qmelpv7a5#
该查询在IBMi 7.4上运行,但也适用于某些早期版本。
选择系统表方案作为"库",
系统表名称AS "文件",
系统_表格_成员作为"成员",
源类型为"源类型",
在"记录"中,
数据类型
"文本"、
创建时间戳AS "创建日期",
上次源更新时间戳为"上次更新",来自QSYS2.SYSPARTITIONSTAT
如果系统表SCHEMA ='XYZLIB'且
系统表格名称='XYZFILE'
且来源类型不为空
按上次源更新时间戳排序