Sql 如何将oracle中的列限制为仅支持字符?

Sql 如何将oracle中的列限制为仅支持字符?,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我需要创建一个表,其中有许多列,其中一列是varchar2类型。现在的问题是我需要设置特定的列只支持字母。 我试过这个代码,但没有成功。有人能帮我吗! 提前谢谢 CREATE TABLE test_1 ( test_id number, test_name varchar(50), CONSTRAINT name_test CHECK (test_name where regexp_like(test_name,'^([aA-zZ])+$')) ); 尝试: 很接近,只需使用函

我需要创建一个表,其中有许多列,其中一列是varchar2类型。现在的问题是我需要设置特定的列只支持字母。 我试过这个代码,但没有成功。有人能帮我吗!
提前谢谢

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


很接近,只需使用函数(返回true/false)

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