Oracle find a constraint

后端 未结 3 651
你的背包
你的背包 2020-12-12 09:29

I have a constraint called users.SYS_C00381400. How do I find what that constraint is? Is there a way to query all constraints?

3条回答
  •  感动是毒
    2020-12-12 09:39

    To get a more detailed description (which table/column references which table/column) you can run the following query:

    SELECT   uc.constraint_name||CHR(10)
       ||      '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
       ,       'REFERENCES'||CHR(10)
       ||      '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
    FROM user_constraints uc ,
      user_cons_columns ucc1 ,
      user_cons_columns ucc2
    WHERE uc.constraint_name = ucc1.constraint_name
    AND uc.r_constraint_name = ucc2.constraint_name
    AND ucc1.POSITION        = ucc2.POSITION -- Correction for multiple column primary keys.
    AND uc.constraint_type   = 'R'
    AND uc.constraint_name   = 'SYS_C00381400'
    ORDER BY ucc1.TABLE_NAME ,
      uc.constraint_name;
    

    From here.

提交回复
热议问题