2017-03-24 11 views
0

新しい商品を作成するたびに、商品コード/商品コードに手紙を固定しておく方法を理解しようとしています。DQL item_IDには最初に文字がありますか?

たとえば、製品コードがA1234の場合、人はに変更できませんが、最後の4つの数字を変更することができます。

PRODUCT_CODEは5つの文字(Aである第1、残りの番号)を持っている必要があります

私はそれがAで始まり、それがない場合には(4つの数字で終わらなければならないようなProduct_code列の制約を作成するにはどうすればよいですこの形式では、それがwhere句でそれを行うことが可能であるおかげ

+0

あなただけの、これはCの制約になりたいていますolumnか、これをauto_incrementingフィールドにしたいですか? – Siyual

+3

'Check'制約のようなものです。正規表現?多分[このリンク](http://stackoverflow.com/a/7621734/2654498)は助けになるでしょうか? –

+0

ちょうど制約になる –

答えて

0

この制約はあなたの例を強制します:?

create table t1 (product_code varchar2(5)); 

alter table t1 add constraint product_code_fmt 
    check (regexp_like(product_code,'A[[:digit:]]{4}')); 
+0

こんにちは、ありがとう、私はあなたが可能かどうかを知っているとは思わないが、より良い方法をどこでそれを行うには? –

+0

where句で制約を適用することはできません。チェック制約が気に入らない場合は、テーブル・トリガーを使用できます。 –

関連する問題