DB2 SYSIBM.SYSTABLES与SYSCAT.TABLES的区别

5
我正在使用DB2 v9 LUW。我想知道在查询时使用"="和"IS NULL"之间有什么区别。
SELECT * FROM SYSIBM.SYSTABLES

vs

SELECT * FROM SYSCAT.TABLES

另一个比另一个更受欢迎吗?
2个回答

2

SYSIBM.SYSTABLES是系统目录表,而SYSCAT.TABLES是系统目录视图。这取决于你需要什么,但是你可能更经常使用SYSIBM.SYSTABLES.


7
建议您在syscat模式下执行选择操作,而不是直接在sysibm模式下操作。此外,sysibm是内部表示,syscat更为标准,并且在不同版本之间变化不大。 - AngocA
1
@AngocA 并非所有的DB2安装都有syscat模式,因此并不是我们所有人都能遵循该建议。 - Tom Norton
1
据我所知,自8.2版本以来,Syscat.table在所有LUW版的db2中都存在。https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0001063.html 您所说的是哪个版本的Db2安装程序? - AngocA
2
在z/OS上运行的DB2中没有syscat。 - Vishnu Vasudevan

0

这取决于您正在使用哪个版本的DB2。 DB2 LUW版本具有SYSCAT目录视图。 DB2 zOS仅具有SYSIBM模式目录表。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接