此Information Schema ansi查询的Oracle SQL等效项是什么?

时间:2019-07-13 14:24:05

标签: sql oracle foreign-keys information-schema

我正在尝试为我的4个SGBDS创建一些SQL模式查询:MySQL,Postgres,SQLServer e Oracle。进行这些查询之一以获得所有外键及其引用的列。 我们知道,Oracle不支持ANSI Information Schema,那么此Information Schema ansi查询的Oracle SQL等效项是什么?

SELECT   
    KCU1.TABLE_NAME AS TABLE_NAME 
    ,KCU1.COLUMN_NAME AS FOREIGN_KEY
    ,KCU2.TABLE_NAME AS REFERENCED_TABLE_NAME 
    ,KCU2.COLUMN_NAME AS REFERENCED_COLUMN_NAME 
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC 

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU1 
    ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG  
    AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA 
    AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME 

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU2 
    ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG  
    AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA 
    AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME 
    AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION

0 个答案:

没有答案