创建一个表,表中的一个字段是个字符串,当我们想该字段添加一个字符串时,不能输入除了字母外的其它字符 (比如说 自能输入 adsfdsadf  但不能输入 asdf12112dadfs )  请各位高手帮忙下、

解决方案 »

  1.   


    create table t(id int,name varchar2(50),check (regexp_like(name,'^[a-zA-Z]+$')));SQL> insert into t values (1,'z');
     
    1 row inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> insert into t values (1,'z1');
     
    insert into t values (1,'z1')
     
    ORA-02290: 违反检查约束条件 (JCBK.SYS_C0019224)
     
    SQL> 
      

  2.   


    create table t(
           col_1 varchar2(10),
           check (regexp_like(col_1,'^[[:alpha:]]+$'))
           );
    SQL> insert into t
      2  values('china');1 row insertedSQL> insert into t
      2  values('china123');insert into t
    values('china123')ORA-02290: check constraint (YEEXUN.SYS_C005412) violatedSQL> insert into t
      2  values('yeexun');1 row insertedSQL> select * from t;COL_1
    ----------
    china
    yeexun
      

  3.   

    这样这个check约束加到了表上, 能不能只加到col_1某一列上?