2013-02-14 57 views
2

我需要创建一个表,其中一列是varchar2类型的列数。现在的问题是我需要设置该特定的列应该只支持字母表。 我试过这段代码,但这没有得到工作,任何人都可以帮助我!
在此先感谢!如何在oracle中限制一列只支持字符?

CREATE TABLE test_1 
(
    test_id number, 
    test_name varchar(50), 
    CONSTRAINT name_test 
    CHECK (test_name where regexp_like(test_name,'^([aA-zZ])+$')) 
); 

回答

0

你接近,只是使用功能(返回真/假)。

CREATE TABLE z_test_1 
(
    test_id number, 
    test_name varchar(50), 
    CONSTRAINT name_test 
    CHECK (regexp_like(test_name,'^([aA-zZ])+$')) 
); 
+0

哦....雅谢谢伙计! – 2013-02-14 13:18:14

1

尝试:

CREATE TABLE test_1 
(
    test_id number, 
    test_name varchar(50), 
    CONSTRAINT 
    name_test 
    CHECK (
     regexp_like(test_name,'^([aA-zZ])+$') 
    ) 
);