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 回答