当前位置: 首页 > 面试题库 >

使用检查约束SQL向表中添加列

井宪
2023-03-14
问题内容

我想向表中添加一列,然后添加检查约束以确保其大于0。我似乎无法使它在oracle sl开发人员中运行。

Alter TABLE store101
add column Base_salary Number(7,2)
constraint store101_Base_salary_ck
check (Base_salary > 0);

错误报告-SQL错误:ORA-00904 ::无效的标识符00904。00000-“%s:无效的标识符”


问题答案:

语法中没有ADD COLUMN子句ALTER TABLE。只是ADD

ALTER TABLE store101
ADD Base_salary NUMBER(7, 2) -- there is no need to add COLUMN clause
CONSTRAINT store101_Base_salary_ck 
CHECK (Base_salary > 0);

这是 SQLFiddle 演示



 类似资料:
  • 问题内容: 我有下表Goods_In_Wagon(Goods_ID,Wagon_ID,Total_Weight)。我需要创建一些if语句检查约束,说 “如果WAGON_ID在90到99之间,则Total_Weight必须大于10。” AND“如果WAGON_ID在100到110之间,则Total_Weight必须大于20。” AND“如果WAGON_ID在111到120之间,则Total_Weig

  • 主要内容:选取设置检查约束的字段,在创建表时设置检查约束,在修改表时添加检查约束,删除检查约束MySQL检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。设置检查约束时要根据实际情况进行设置,这样能够减少无效数据的输入。 在《MySQL默认值》和《MySQL非空约束》中讲解的默认值约束和非空约束也可看作是特殊的检查约束。 选取设置检查约束的字段 检查约束使用 CHECK 关键字,具体的语法格式如下: C

  • 主要内容:Oracle Check约束简介在本教程中,您将学习如何使用Oracle检查约束来强制域(列)的完整性。 Oracle Check约束简介 Oracle检查约束允许通过限制一列或多列所接受的值来强制执行域完整性。 要创建一个检查约束,可以定义一个返回或的逻辑表达式。 Oracle使用此表达式来验证正在插入或更新的数据。 如果表达式的计算结果为,则Oracle接受数据并进行插入或更新。 否则,Oracle将拒绝这些数据,新数据根本

  • 问题内容: 我有这个功能: 如您所见,它将字典转换成一个字典(没有可选的)。 我只想为值是任何类型的类使用新方法扩展该类,但是我无法为字典的通用参数添加约束。 这是我尝试的: 但失败并显示错误: 问题答案: 在Playground中尝试以下代码: 因为您不能在协议扩展的子句中指定确切的类型,所以可以准确检测到该类型的一种方法是使UNIQUELY符合协议(例如)。 为了获得的包装值类型,我在自定义协

  • 问题内容: 我上周一直在学习SQL,但是我不确定如何在检查约束中正确添加case语句。有人可以给我指点吗? 我有以下成绩表: 我想检查是否在AD之间,则必须为“ S1”,或者是否在EG之间,则为“ S2”。 我试图对此进行研究并提出后者,但是它不起作用..我是否正确构造了代码? 问题答案: 我认为您可以执行以下操作: 请在此处查看SQL Fiddle模式。 您不需要约束,因为正则表达式检查就足够了

  • 我有3个表,在名为的表中,user_id被定义为主键,在另一个名为的表中,我声明了一个外键引用,这是我的users表: 我的更新表是: 帮我解决这个问题?