可能是一个显而易见的问题,但Oracle Technet对此我的搜索条款并不友好。我想创建一个表,并使char列具有特定的格式。例如,检查约束将确保插入的SSN字符串的格式为“### - ## - ####”,包括短划线。如何指定此检查?
答案 0 :(得分:2)
我从未做过类似的事情,但尝试过这样的事情:
CREATE TABLE suppliers
( supplier_id numeric(4),
supplier_name varchar2(50),
CONSTRAINT check_supplier_id
CHECK (supplier_id REGEXP_LIKE(testcol, '^... .. ....$');)
);
答案 1 :(得分:1)
以特定格式存储数据通常不是一个好主意。格式化只是钟声和口哨,不同的情况可能需要不同的格式。添加本地化,这显然不是一个好主意。
您需要在检索数据后进行格式化。这可以通过Format Models完成。
答案 2 :(得分:0)
使用数据库触发器可以完成更复杂的验证。也许你这是你错过的搜索词。