1

おそらく明らかな質問ですが、Oracle Technet はこれに関する私の検索用語に好意的ではありません。テーブルを作成し、char 列に特定の形式を持たせたい。たとえば、挿入された SSN 文字列がダッシュを含む "###-##-####" の形式であることを確認するチェック制約。このチェックを指定するにはどうすればよいですか?

4

3 に答える 3

2

私はそのようなことをしたことはありませんが、次のようなことを試してください:

CREATE TABLE suppliers
(   supplier_id numeric(4), 
    supplier_name   varchar2(50),   
    CONSTRAINT check_supplier_id
        CHECK (supplier_id REGEXP_LIKE(testcol, '^... .. ....$');)
);
于 2012-05-15T18:23:12.480 に答える
1

一般に、データを特定の形式で保存することはあまり良い考えではありません。書式設定は単なるオプションであり、状況によって異なる書式が必要になる場合があります。これにローカライズを追加すると、これが優れたアイデアではないことがより明白になります。

データを取得した後にフォーマットする必要があります。これはFormat Modelsによって行うことができます。

于 2012-05-15T18:26:29.237 に答える
0

データベース トリガーを使用して、より複雑な検証を行うことができます。たぶん、それはあなたが逃した検索用語です。

于 2012-05-16T07:18:37.907 に答える