SELECT DISTINCT '' catalogName, rtrim(current_schema) from sysibm.sysdummy1
SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, TYPE TABLE_TYPE, A.REMARKS DESCRIPTION
FROM SYSCAT.TABLES A WHERE A.TYPE IN ('T','S')
ORDER BY SCHEMA_NAME, TABLE_NAME
SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, TYPE TABLE_TYPE, A.REMARKS DESCRIPTION
FROM SYSCAT.TABLES A WHERE A.TYPE IN ('V')
ORDER BY SCHEMA_NAME, TABLE_NAME
SELECT '' CATALOG_NAME, RTRIM(A.TABSCHEMA) SCHEMA_NAME, A.TABNAME TABLE_NAME, A.COLNAME COLUMN_NAME, A.TYPENAME DATATYPE, A.LENGTH LENGTH, A.LENGTH PRECISION, A.SCALE SCALE, CASE WHEN A.NULLS = 'Y' THEN 'true' ELSE 'false' END NULLABLE_FLAG, A.DEFAULT DEFAULT_VALUE, '' collationSequence, A.REMARKS DESCRIPTION FROM SYSCAT.COLUMNS A ORDER BY SCHEMA_NAME, TABLE_NAME, A.COLNO
SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME parentQueryObject, A.CONSTNAME keyName, B.COLNAME refColumnName, B.COLSEQ refColumnSequence, '' description
FROM SYSCAT.TABCONST A, SYSCAT.KEYCOLUSE B
WHERE A.TYPE IN ('P', 'U')
AND A.TABSCHEMA=B.TABSCHEMA
AND A.TABNAME=B.TABNAME
AND A.CONSTNAME = B.CONSTNAME
ORDER BY parentSchema, parentQueryObject, keyName, refColumnSequence
SELECT '' parentCatalog, RTRIM(FKR.REFTABSCHEMA) parentSchema, FKR.TABNAME parentQueryObject, FKR.CONSTNAME foreignKeyName, FKRC.COLNAME exportedColumn, FKRC.COLSEQ columnSequence, '' importedCatalog, RTRIM(PKR.TABSCHEMA) importedSchema, PKR.REFTABNAME importedTable, FKR.REFKEYNAME importedUniqueKey, PKRC.COLNAME importedColumn, '' description
FROM SYSCAT.REFERENCES FKR, SYSCAT.KEYCOLUSE FKRC, SYSCAT.REFERENCES PKR, SYSCAT.KEYCOLUSE PKRC
WHERE FKR.TABSCHEMA = FKRC.TABSCHEMA AND FKR.TABNAME = FKRC.TABNAME AND FKR.CONSTNAME = FKRC.CONSTNAME
AND PKR.REFTABSCHEMA = PKRC.TABSCHEMA AND PKR.REFTABNAME = PKRC.TABNAME AND PKR.REFKEYNAME = PKRC.CONSTNAME AND PKR.REFTABSCHEMA = PKRC.TABSCHEMA
AND PKR.REFTABSCHEMA = FKR.TABSCHEMA AND FKR.CONSTNAME = PKR.CONSTNAME AND FKRC.COLSEQ = PKRC.COLSEQ
ORDER BY parentSchema, parentQueryObject, foreignKeyName, columnSequence
SELECT '' tableCatalog, RTRIM(A.TABSCHEMA) tableSchema, A.TABNAME tableName, A.INDNAME objectName, CASE A.UNIQUERULE WHEN 'P' THEN '1' WHEN 'U' THEN '1' ELSE '0' END isUnique, CASE A.INDEXTYPE WHEN 'REG' THEN '1' WHEN 'CLUS' THEN '3' ELSE '0' END storageType, '' parentCatalog, RTRIM(A.INDSCHEMA) parentSchema, B.COLSEQ refColumnSequence, B.COLNAME refColumnName, 'A' /*B.COLORDER*/ sortOrder, '' description
FROM SYSCAT.INDEXES A, SYSCAT.INDEXCOLUSE B
WHERE A.INDSCHEMA = B.INDSCHEMA
AND A.INDNAME = B.INDNAME
ORDER BY parentSchema, tableName, objectName, refColumnSequence
SELECT '' parentCatalog, RTRIM(A.TABSCHEMA) parentSchema, A.TABNAME sqlObjectName
, '' externalHostRef, '' refCatalog, CASE WHEN A.BASE_TABSCHEMA <> A.TABSCHEMA THEN RTRIM(A.BASE_TABSCHEMA) ELSE '' END refSchema
, A.BASE_TABNAME targetSqlObjectName, '' description FROM SYSCAT.TABLES A
WHERE A.TYPE IN ('A', 'N')
ORDER BY parentCatalog, parentSchema, targetSqlObjectName
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
FROM SYSCAT.ROUTINES A
WHERE A.ROUTINETYPE IN ('F','P')
ORDER BY parentSchema, procedureName
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
FROM SYSCAT.ROUTINES A
WHERE A.ROUTINETYPE IN ('P')
ORDER BY parentSchema, procedureName
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME procedureName,'' description, A.ROUTINETYPE procedureType
FROM SYSCAT.ROUTINES A
WHERE A.ROUTINETYPE IN ('F')
ORDER BY parentSchema, procedureName
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
, A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
, '' collationSequence, '' description, B.ROUTINEID signatureIndex
, CASE A.ROWTYPE
WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
END parameterMode
, '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('F','P')
UNION
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
, '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINES A
WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
, A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
, '' collationSequence, '' description, B.ROUTINEID signatureIndex
, CASE A.ROWTYPE
WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
END parameterMode
, '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('P')
UNION
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
, '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINES A
WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject, A.PARMNAME parameterName
, A.TYPENAME dataType, A.LENGTH length, '' precision, A.SCALE scale, 'FALSE' isNullable, '' defaultValue
, '' collationSequence, '' description, B.ROUTINEID signatureIndex
, CASE A.ROWTYPE
WHEN 'R' THEN 'out' WHEN 'C' THEN 'out' WHEN 'P' THEN 'in' WHEN 'O' THEN 'out' WHEN 'B' THEN 'inout'
END parameterMode
, '0' occurs, A.ORDINAL parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINEPARMS A, SYSCAT.ROUTINES B
WHERE A.ROUTINESCHEMA = B.ROUTINESCHEMA AND A.ROUTINENAME = B.ROUTINENAME AND A.SPECIFICNAME = B.SPECIFICNAME AND B.ROUTINETYPE IN ('F')
UNION
SELECT '' parentCatalog, RTRIM(A.ROUTINESCHEMA) parentSchema, A.ROUTINENAME parentQueryObject
, '' parameterName, '' dataType, 0 length, '' precision, 0 scale, 'FALSE' isNullable, '' defaultValue, '' collationSequence, '' description, -1 signatureIndex, 'emptyArgumentListPlacholder' parameterMode, '0' occurs, 0 parameterSequence, 0 dataLevel, 0 argumentPosition
FROM SYSCAT.ROUTINES A
WHERE (A.ROUTINESCHEMA, A.ROUTINENAME, A.SPECIFICNAME) NOT IN ( SELECT B.ROUTINESCHEMA, B.ROUTINENAME, B.SPECIFICNAME FROM SYSCAT.ROUTINEPARMS B)
ORDER BY parentCatalog, parentSchema, parentQueryObject, signatureIndex, parameterSequence, dataLevel, argumentPosition
(SELECT '' AS parentCatalog, RTRIM(A.TABSCHEMA) AS parentSchema, A.TABNAME AS sqlObjectName,
CASE A.TYPE WHEN 'A' THEN 'S' WHEN 'S' THEN 'T' ELSE A.TYPE END AS objectType
, '' AS externalHostRef, '' AS refCatalog, '' AS refSchema, '' AS synonymTargetName, '' AS synonymTargetType, '' AS description
FROM SYSCAT.TABLES A
WHERE A.TYPE IN ('V','T','S'))
UNION
(SELECT '' AS parentCatalog, RTRIM(A.TABSCHEMA) AS parentSchema, A.TABNAME AS sqlObjectName, 'S' AS objectType
, '' AS externalHostRef, '' AS refCatalog, CASE WHEN A.BASE_TABSCHEMA <> A.TABSCHEMA THEN RTRIM(A.BASE_TABSCHEMA) ELSE '' END AS refSchema
, A.BASE_TABNAME AS synonymTargetName, CASE B.type WHEN 'A' THEN 'S' WHEN 'S' THEN 'T' ELSE B.TYPE END AS synonymTargetType, '' AS description
FROM SYSCAT.TABLES A, SYSCAT.TABLES B
WHERE A.TYPE IN ('A')
AND B.TYPE IN ('V','T','S','A')
AND A.BASE_TABSCHEMA = B.TABSCHEMA
AND A.BASE_TABNAME = B.TABNAME)
ORDER BY parentSchema, sqlObjectName
SELECT SCHEMANAME objectName, '' description
FROM SYSCAT.SCHEMATA A
GROUP BY SCHEMANAME
ORDER BY objectName
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