SELECT '' CATALOG_NAME, RTRIM( base_schema ) SCHEMA_NAME, name TABLE_NAME, TYPE TABLE_TYPE, '' DESCRIPTION
from(select A.creator, A.name,A.type,A.status,A.base_schema,base_name from sysibm.tables A, sysibm.tables B
WHERE A.TYPE IN ('A')
AND B.TYPE IN ('V','T','S','A')
AND A.TBSCHEMA = B.TBSCHEMA
AND A.BASE_TBNAME = B.NAME
ORDER BY base_schema, name)
SELECT '' CATALOG_NAME, RTRIM(creator) SCHEMA_NAME, name TABLE_NAME, TYPE TABLE_TYPE, '' DESCRIPTION
from (select creator, name, type from qsys2.systables t WHERE t.TYPE IN ('V') order by creator,name)
SELECT '' CATALOG_NAME, RTRIM(AA.TABLE_SCHEMA) SCHEMA_NAME, AA.TABLE_NAME TABLE_NAME, AA.COLUMN_NAME COLUMN_NAME, AA.DATA_TYPE DATATYPE, AA.CHARACTER_MAXIMUM_LENGTH LENGTH, '' PRECISION, AA.SCALE SCALE,
CASE WHEN AA.IS_NULLABLE = 'Y' THEN 'true' ELSE 'false' END NULLABLE_FLAG, AA.COLUMN_DEFAULT DEFAULT_VALUE, '' collationSequence, '' DESCRIPTION
from
(select
c.TABLE_SCHEMA,
c.TABLE_NAME,
c.COLUMN_NAME,
c.ORDINAL_POSITION,
c.CHARACTER_MAXIMUM_LENGTH,
c.NUMERIC_SCALE AS SCALE,
c.COLUMN_DEFAULT,
c.IS_NULLABLE,
c.TABLE_SCHEMA SOURCE_SCHEMA,
c.TABLE_NAME SOURCE_TABLE,
c.DATA_TYPE
from sysibm.columns c ORDER BY TABLE_SCHEMA,
TABLE_NAME,
ORDINAL_POSITION) AS AA
SELECT '' parentCatalog, RTRIM(FKR_reftbcreator) parentSchema, FRK_TBNAME parentQueryObject, FRK_relname foreignKeyName, FKRC_COLNAME exportedColumn, FKRC_COLSEQ columnSequence, '' importedCatalog,
RTRIM(FKR_reftbcreator) importedSchema, reftbname importedTable, refkeyname importedUniqueKey, PKRC_COLNAME importedColumn, '' description
from (
SELECT FRK.CONSTRAINT_NAME FRK_RELNAME,
FRK.CONSTRAINT_SCHEMA FRK_refcreator,
FRKC.TABLE_NAME FRK_TBNAME,
FRK.CONSTRAINT_SCHEMA definer,
'' FKR_definertype,
FRKP.UNIQUE_CONSTRAINT_NAME refkeyname,
FRKP.CONSTRAINT_SCHEMA FKR_reftbcreator,
FRKCP.TABLE_NAME reftbname,
FRK.COLUMN_COUNT,
FRK.DELETE_RULE,
FRK.UPDATE_RULE,
'' A,
'' B,
FRKC.COLUMN_NAME FKRC_COLNAME,
FRKCP.COLUMN_NAME PKRC_COLNAME,
FRKC.ORDINAL_POSITION FKRC_COLSEQ
from qsys2.SYSREFCST FRK, qsys2.SYSKEYCST FRKC, qsys2.SYSREFCST FRKP, qsys2.SYSKEYCST FRKCP
where FRK.CONSTRAINT_NAME = FRKC.CONSTRAINT_NAME
AND FRK.CONSTRAINT_SCHEMA = FRKC.CONSTRAINT_SCHEMA
AND FRKP.UNIQUE_CONSTRAINT_NAME = FRKCP.CONSTRAINT_NAME
AND FRKP.CONSTRAINT_SCHEMA = FRKCP.CONSTRAINT_SCHEMA
AND FRKP.UNIQUE_CONSTRAINT_NAME = FRK.UNIQUE_CONSTRAINT_NAME
AND FRK.CONSTRAINT_SCHEMA = FRKP.CONSTRAINT_SCHEMA
AND FRKP.CONSTRAINT_NAME = FRK.CONSTRAINT_NAME
)
SELECT '' tableCatalog, RTRIM( k_creator) tableSchema, k_tbname tableName, name objectName,
CASE UNIQUERULE WHEN 'P' THEN '1' WHEN 'U' THEN '1' ELSE '0' END isUnique,
CASE INDEXTYPE WHEN 'REG' THEN '1' WHEN 'CLUS' THEN '3' ELSE '0' END storageType, '' parentCatalog,
RTRIM(k_tbcreator) parentSchema, colseq refColumnSequence, colname refColumnName, 'A' /*B.COLORDER*/ sortOrder, '' description
from (select k.INDEX_OWNER k_creator,k.INDEX_NAME name,k.TABLE_OWNER k_tbcreator,k.TABLE_NAME k_tbname,k.IS_UNIQUE uniquerule,k.IS_UNIQUE made_unique,'' indextype,'' entrytype,i.INDEX_SCHEMA indschema,i.INDEX_NAME indname,
i.COLUMN_NAME colname,i.ORDINAL_POSITION colseq,i.ORDERING colorder from qsys2.SYSINDEXES as k,qsys2.SYSKEYS as i
where k.INDEX_OWNER = i.INDEX_SCHEMA
and k.INDEX_NAME = i.INDEX_NAME
ORDER BY k.INDEX_OWNER, k.TABLE_NAME, k.INDEX_NAME, i.ORDINAL_POSITION) AS DD
SELECT '' parentCatalog, RTRIM(ROUTINE_SCHEMA) parentSchema, ROUTINE_NAME procedureName,'' description, ROUTINE_TYPE procedureType
from
(SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE FROM qsys2.SYSROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_SCHEMA NOT IN ('SYSIBM') ) AS SS
SELECT DISTINCT '' parentCatalog, RTRIM(ROUTINE_SCHEMA) parentSchema, ROUTINE_NAME procedureName,'' description, ROUTINE_TYPE procedureType
from
(SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE FROM qsys2.SYSROUTINES WHERE ROUTINE_TYPE = 'FUNCTION' )
SELECT A.TABNAME objectName, '' description
FROM SYSCAT.TABLES A
WHERE A.TYPE IN ('T','S')
AND A.TABSCHEMA = ''
ORDER BY objectName
SELECT A.TABNAME objectName, '' description
FROM SYSCAT.TABLES A
WHERE A.TYPE IN ('V')
AND A.TABSCHEMA = ''
ORDER BY objectName
SELECT A.COLNAME objectName, '' description
FROM SYSCAT.COLUMNS A
WHERE A.TABSCHEMA = ' '
AND A.TABNAME = ''
ORDER BY A.COLNO
SELECT A.TABNAME objectName, '' description
FROM SYSCAT.TABLES A
WHERE A.TYPE IN ('A', 'N')
AND A.TABSCHEMA = ''
ORDER BY objectName
SELECT A.ROUTINENAME objectName,'' description
FROM SYSCAT.ROUTINES A
WHERE A.ROUTINETYPE = 'P'
AND A.ROUTINESCHEMA = ''
GROUP BY A.ROUTINENAME
ORDER BY objectName
SELECT A.ROUTINENAME objectName,'' description
FROM SYSCAT.ROUTINES A
WHERE A.ROUTINETYPE = 'F'
AND A.ROUTINESCHEMA = ''
GROUP BY A.ROUTINENAME
ORDER BY objectName
SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME objectName, A.TYPE objectType, '' description
FROM SYSCAT.TABLES A WHERE A.TYPE IN ('V','T','S','A', 'N')
UNION
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME objectName, a.routinetype objectType, '' description
FROM SYSCAT.ROUTINES A WHERE A.ROUTINETYPE IN ('F', 'P')
ORDER BY parentSchema, objectName