sql

列表中的SQL CHECK约束

2020-09-25 01:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试创建一个具有标识列和检...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试创建一个具有标识列和检查约束的表。 此SQL成功创建表:

创建列表测试(
     ID INT主键始终作为身份生成,
     GENDER VARCHAR(1),
     检查(性别输入('F','M'))
 );
 

但是,当我尝试使用以下方式插入记录时:

插入测试值('F'); 

我收到以下错误:

 12:02:48 PM(SQL编辑器)无法执行"将测试值插入(F)"错误:(dberror)7-不支持功能:[新表达式]仅支持DML更新的比较条件 

如果我不使它成为面向列的表,则CHECK约束有效,但是如果我尝试创建不带COLUMN指令的标识列,则会出现此错误:

 12:06:00 PM(SQL编辑器)无法执行"创建表测试(始终以身份标识生成ID INT主键,GENDER VARCHAR(1),...")错误:(dberror)7-不支持功能 :无法创建具有标识列的行表:ID:第3行第4列(排名25)

是否可以有一个标识列和一个检查约束?

谢谢

罗斯

1条回答
SKY徐
2020-09-25 01:49

我尝试将支票更改为这样的比较:

创建列表测试(
     testID INT主键始终作为身份生成,
     GENDER VARCHAR(1),
     检查(GENDER ='F'或GENDER ='M')
 );
 

但这会产生此错误:

 12:25:50 PM(SQL编辑器)无法执行'DROP TABLE TEST'错误:(dberror)259-无效的表名:TEST:第1行col 11(在pos 11)
 12:25:50 PM(SQL Editor)无法执行'CREATE COLUMN TABLE TEST(testID INT PRIMARY KEY GENWAYS AS IDENTITY,GENDER ...'错误:(dberror)288-无法使用重复的表名:TEST:第2行 第20列(pos 20)
 

一周热门 更多>