|
|
Question : Table Relationship Information in DB2-IBM for Windows
|
|
hi i want to find the fields and table in DB2-IBM for Windows which contains information about the relationship, i.e Table Type, table name, pk and foreign key information. In SQL server i can get it from this query "select cc.table_name from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cc where cc.constraint_name = rc.Unique_constraint_name ) as pk_table_name" and "select cc.column_name from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cc where cc.constraint_name = rc.Unique_constraint_name) as pk_column_name" but how can i get this information in DB2-IBM for Windows?? waiting for the reply thanx
|
Answer : Table Relationship Information in DB2-IBM for Windows
|
|
ADD THIS COLUMN: referentail constraints: SELECT B.CONSTNAME AS "CONSTRAINT NAME",
A.TYPE AS "TABLE TYPE",
SUBSTR(RTRIM(B.REFTABSCHEMA)||'.'||B.REFTABNAME,1,30) AS "PARENT TABLE", SUBSTR(B.PK_COLNAMES,1,14) AS "PK COLUMN", SUBSTR(RTRIM(B.TABSCHEMA)||'.'||B.TABNAME,1,30) AS "FK TABLE NAME", SUBSTR(B.FK_COLNAMES,1,14) AS "FK COLUMN", CASE B.DELETERULE WHEN 'N' THEN 'SET NULL' WHEN 'C' THEN 'CASCADE' WHEN 'R' THEN 'RESTRICT' WHEN 'A' THEN 'NO ACTION' END AS "DELETE RULE", CASE B.UPDATERULE WHEN 'A' THEN 'NO ACTION' WHEN 'R' THEN 'RESTRICT' END AS "UPDATE RULE", (CASE (SUBSTR(A.CONST_CHECKED,1,1)) WHEN 'Y' THEN 'CHECKED BY SYSTEM' WHEN 'U' THEN 'CHECKED BY USER' WHEN 'N' THEN 'CHECK PENDING' WHEN 'W' THEN 'USER CHECK PENDING' END) AS "CHECK STATUS" FROM SYSCAT.REFERENCES B, SYSCAT.TABLES A WHERE B.REFTABSCHEMA=A.TABSCHEMA AND B.REFTABNAME=A.TABNAME AND B.TABSCHEMA='' ORDER BY "CONSTRAINT NAME";
|
|
|
|
|