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