SELECT T.TABLE_NAME AS [Table], C.COLUMN_NAME AS [Column], C.IS_NULLABLE AS [Allows Nulls?], C.DATA_TYPE AS [Type]FROM INFORMATION_SCHEMA.Tables T JOIN INFORMATION_SCHEMA.Columns CON T.TABLE_NAME = C.TABLE_NAMEWHERE T.TABLE_NAME NOT LIKE 'sys%'AND T.TABLE_NAME <> 'dtproperties'AND T.TABLE_SCHEMA <> 'INFORMATION_SCHEMA'ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION
USER 前缀
User's view (what is in the user's schema) // 目标范围锁定在当前用户所拥有的对象中
ALL 前缀
Expanded user's view (what the user can access)// 目标范围锁定在当前用户可以访问的对象中
DBA 前缀
Database administrator's view (what is in all users' schemas)// 目标范围锁定在所有用户拥有的对象中
SELECT * FROM USER_OBJECTS;SELECT * FROM USER_TABLES;
DB2 - 想要的东西都可以在Schema SYSCAT中找到
SELECT * FROM SYSCAT.TABLES;SELECT * FROM SYSPUBLIC.DUAL // 这个比较特殊,空表一个,类似于Oracle中的DUAL
DB2可以通过改变DB2_COMPATIBILITY_VECTOR 的设置来启用Oracle兼容模式,这样就可以打开支持PL/SQL的功能,并且能够使用Oracle中提供访问数据词典的表和视图了。