1

比如一个表A引用了表B,但是没有这样的表,就是引用了A表。我需要使用系统表(如用户约束)来解决这个问题

4

1 回答 1

1

例如:

SELECT u.table_name
  FROM user_tables u
 WHERE u.table_name NOT IN (SELECT c.table_name
                              FROM user_constraints rc
                                   JOIN user_constraints c
                                      ON c.constraint_name =
                                            rc.r_constraint_name
                             WHERE rc.constraint_type = 'R');

或者,如果您喜欢(NOT) EXISTS

SELECT u.table_name
  FROM user_tables u
 WHERE NOT EXISTS
          (SELECT NULL
             FROM user_constraints rc
                  JOIN user_constraints c
                     ON c.constraint_name = rc.r_constraint_name
            WHERE     rc.constraint_type = 'R'
                  AND u.table_name = c.table_name);
于 2018-12-17T11:38:58.427 回答