加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

2,oracle表只有2个字符

发布时间:2021-04-01 09:36:47 所属栏目:站长百科 来源:网络整理
导读:我试图在oracle中创建一个表,它将接受2个而且只有2个字符.我尝试使用char(2),但如果我在insert语句中输入1个字符,它将接受它.如何让oracle只接受2个精确字符的任何插入并拒绝1和3及更高的字符?我在互联网上搜索过,似乎无法找到答案. 谢谢! 克里斯托弗 解决

我试图在oracle中创建一个表,它将接受2个而且只有2个字符.我尝试使用char(2),但如果我在insert语句中输入1个字符,它将接受它.如何让oracle只接受2个精确字符的任何插入并拒绝1和3及更高的字符?我在互联网上搜索过,似乎无法找到答案.

谢谢!
克里斯托弗

解决方法

您可以创建一个强制执行此限制的CHECK约束

SQL> create table foo (
  2    col1 varchar2(2) NOT NULL
  3,check( length(col1) = 2 )
  4  );

Table created.

SQL> insert into foo values( 'ab' );

1 row created.

SQL> ed
Wrote file afiedt.buf

  1* insert into foo values( 'a' )
SQL> /
insert into foo values( 'a' )
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.SYS_C0022134) violated

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!