Oracle表に制約を追加する必要があります。数値列はゼロまたは一意でなければなりません(および> 0)。 制約定義または関数内にクエリを挿入しようとしましたが、許可されていません。 Greetings、Marcelo。Oracleチェック制約列がゼロまたは一意である
0
A
答えて
1
私があなたのニーズを十分に理解している場合は、関数ベースのインデックスを使用して、正の値のみの一意性をチェックできます。例えば
:異なる値を挿入する
SQL> create table checkUniqueTab(n number);
Table created.
SQL> create unique index i1 on checkUniqueTab(case when n > 0 then n end);
Index created.
は仕事:私は0で多くの行を挿入することができます
SQL> insert into checkUniqueTab values (1);
insert into checkUniqueTab values (1)
*
ERROR at line 1:
ORA-00001: unique constraint (ALEK.I1) violated
:ここ
SQL> insert into checkUniqueTab values (1);
1 row created.
SQL> insert into checkUniqueTab values (2);
1 row created.
は私が重複正の値を挿入しよう値:
SQL> insert into checkUniqueTab values (0);
1 row created.
SQL> insert into checkUniqueTab values (0);
1 row created.
結果:
SQL> select * from checkUniqueTab;
N
----------
1
2
0
0
これは、あなたがすでに負の値を挿入防ぐために、あなたのテーブルの上に制約があることを前提としています。
関連する問題
- 1. DB制約なしの一意性チェック
- 2. Oracle Sqlのチェック制約
- 3. SQL制約:一意でない列の一意の値
- 4. ルートノードバンドルでの一意制約違反、Apache Jackrabbit with Oracle
- 5. 2列の一意制約の作成
- 6. Mysql一意制約> 16列
- 7. 注文に関係なく2つの列に一意の制約があります - Oracle
- 8. プライマリキー制約とテーブルの同じ列に定義された一意制約
- 9. 空のテーブルに一意の制約がありません
- 10. JPAコレクションにマッピングテーブルの一意性制約がありません
- 11. oracle dbの条件付き一意制約
- 12. Oracleの一意性制約 - 小文字混合
- 13. sqlの一意制約
- 14. NodeEntityの一意制約
- 15. 複数の列にわたる一意制約
- 16. テーブルを一意にするには、 '参照テーブルと一致する一意制約はありません'。
- 17. PostgreSQLエラー、一意の制約に一致するものはありません
- 18. SQL制約チェックまたはトリガー?
- 19. クエリのパフォーマンスをマージ - 一意の制約またはインデックス?
- 20. サブクエリを使用したOracleのチェック制約[エクササイズ]
- 21. PostgreSQL:制約名は必ずしも一意ではありません
- 22. Oracleの制約
- 23. oracleで制約が見つかる
- 24. SQL Serverでチェック制約を追加します。私は私がチェック制約に修飾名を与えるたいSQL Server 2008の</p> <p>内の任意のテーブルの列のチェック制約を使用したいのADD CHECK
- 25. チェック制約
- 26. 制約のチェック
- 27. チェック制約
- 28. チェック制約
- 29. CodeIgniterのORA-00001:一意制約
- 30. Play Framework [1.2.4]:エンティティの一意の制約
あなたは私たちにチェック制約をどのように表示できますか?私たちに挿入物を見せてくれる?テーブルのDDLはプラスになります – Moudiz
なぜゼロですか?この制約はどのようなビジネスルールを実施しようとしていますか? – APC
重複のようです。 http://stackoverflow.com/questions/42671008/how-do-i-add-a-not-null-column-and-a-check-constraint-in-one-line-in-oracle-11gそれはあなたのようですguyzは一緒に働いています – XING