如何用SQL语句删除check约束

创建时的语句如下:createtablestudent2(Snochar(9)primarykey,Snamechar(8)notnull,Ssexchar(2)chec... 创建时的语句如下:

create table student2
(Sno char(9) primary key,
Sname char(8) not null,
Ssex char(2) check(Ssex in ('男','女')),
Sage smallint,
Sdept char(20)
)
lsg0012的方法没有效果啊, 齐齐飞飞和an1ju能不能再介绍得清楚点呢?因为我的check那里没有约束名啊!

另外,我用的SQL Server 2000
展开
 我来答
freechan10
2019-12-12 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.8万
展开全部

1、创建测试表,带主键约束;

create table student2

(Sno char(9) primary key,

Sname char(8) not null,

Ssex char(2) check(Ssex in ('男','女')),

Sage smallint,

Sdept char(20)

)

2、右击表名,点击‘编辑’选项,

3、选择‘键’TAB,并点击右侧删除按钮;

4、即可将主键约束删除;

-- Drop primary, unique and foreign key constraints 

alter table STUDENT2

  drop constraint SYS_C0018602 cascade;

可以叫我表哥
推荐于2017-09-23 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
删除约束的语法如下:

Alter Table 表名
Drop Constraint 约束名
附加:在创建表的时候同时添加约束的写法:

use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不详')
,stuAge int not null check(stuAge between 15 and 40)
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程路上不停止
推荐于2017-10-01 · TA获得超过421个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:251万
展开全部
在查询分析器里边执行

alter table 表名
drop constraint 约束名

查看表的约束名执行

sp_helpconstraint 表名

第二个结果集就列出了表的约束,constraint_name就是约束名

或者执行
sp_help 表名

一般第三个结果集中constraint_name就表示相应的约束名。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ttaaoo915
2008-11-04
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
这里我给一个方法
注意一个前提,要删除约束,必须要知道它的约束名
首先你这里的CHECK没有约束名,这表示系统会自动给你生成一个约束名,所以你首先要查找这个约束名,可以用
sp_help student2
这个语句可以查看student2 表的所有属性,当然也包括约束名
然后就可以执行删除操作了
Alter table student2
drop constraint (约束名)
试试看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
齐齐飞飞
2008-11-03 · TA获得超过2269个赞
知道小有建树答主
回答量:1541
采纳率:0%
帮助的人:784万
展开全部
CHECK 约束
[CONSTRAINT <constraint name>] CHECK (<condition> )
这 里CHECK子句中的CONDITION应该求值为一个布尔值结果,并且可以引用相同行中其他列的值;不能包含子查询,序列,环境函数(SYSDATE, UID,USER,USERENV)和伪列(ROWNUM,LEVEL,CURRVAL,NEXTVAL),一个列上可以定义多个CHECK约束,如果所 定义的条件为FALSE,则语句将回滚.
CREATE TABLE employees
(...,
salary NUMBER(8,2) CONSTRAINT emp_salary_min CHECK (salary>0),
...);
删除方式:
Alter table student2 drop(constraint "Ssex" check(约束名))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式