表 1
ID - 名前 - メイン番号 - ランダム 1 - ランダム 2
1* - aaaa -blalablabla* - * ** - *
2 - vvvv -blublubluuu* - * ** - *
3 - aaaa -blalablabla* - * ** - **
ID 、名前、およびメイン番号は主キー
です列名とメイン番号に重複した値があることに気付いたという私の問題、他の重複した値を追加したくない(実際のテーブルには多くの値があるため、古い重複を保持する必要があります重複したデータとそれらを削除するのが難しい)
挿入しようとしているこの名前が重複していることを確認するために(コミットする前に)試したときに欲しいもの。
プロシージャまたはトリガーでそれを行うことができますが、制約チェックの方が簡単で簡単だと聞いたことがあります(より簡単な方法があれば、プロシージャまたはトリガーは喜んでそれを学びます)
CONSTRAINT check_name
CHECK (名前 = (A_name))
制約はそのような方法で複数の列を持つことができますか?
CONSTRAINT check_name
CHECK (name = (A_name) , main_number=( A_number))
そのような方法で制約を書くことはできますか?
CONSTRAINT check_name
CHECK (名前 = (列名と同じ値を持つ列がある場合を選択))
だから私の質問:重複する列があるかどうか、またはトリガーを使用する必要があるかどうかを知るのに役立つ、制約をチェックする方法はありますか?