Oracle约束以检查Director的薪水是否> 5000

时间:2014-05-09 10:55:24

标签: sql oracle constraints

这是一个非常初学的问题,但是我的谷歌技能让我失望了,我似乎无法在笔记中找到任何相关内容。

我有这种情况:
数据库 bdamr ,表格为 functie_amr ,列 denumire_functie (varchar2)
数据库 bdeur ,表格 functie_eur ,列 sal_min (数字(5)), sal_max (数字(5)) 。
我需要检查值为'Director'的denumire_funtie是否具有sal_min< 5000。
这些表是垂直碎片的结果。

换句话说,约束可以比较不同表中的值,而另一个表可以位于不同的数据库中吗?

除此之外我还试过这个

 alter table functie_eur
   add constraint sal_min_dir 
   check (functie_amr@bdamr.denumire_funtie='Director' and salariu_minim>5000);

谢谢!

1 个答案:

答案 0 :(得分:0)

请查看此链接CHECK CONSTRAINTS

您无法使用检查约束来比较来自其他表的值,无论表是否在 相同的数据库或其他数据库。

来自oracle文档:

检查约束的条件可以引用表中的任何列,但它不能引用其他表的列。

如果要限制列值插入,可以为该表编写triggers