易截截图软件、单文件、免安装、纯绿色、仅160KB

请教一个MSSQL的问题 - MS-SQL Server / 疑难问题

创建了几张表,其中有一张表是课程表,里边包括:课程号(主码),课程名,课时,学分。
现在想设计一个触发器使,作用是限制开设的课程总学分必须在0到100之间

请问这个触发器该怎么设计,谢谢。
不用触发器,用约束行了

SQL code:
alter table 课程表
add constraint ck check(学分 between 0 and 100)


可以用check约束



如果课程号唯一,用约束就可以了。

抱歉,我刚才没有说清楚问题。每个开设的课程有相应的学分,比如课程1是1学分,现在要设计一个触发器使得这些课程的学分总和限制在0到100之间

SQL code:

create table 课程表(学分 int)


create function f_check()
returns int
as
begin
declare @i int
select @i=sum(学分) from 课程表
return @i
end

alter table 课程表
add constraint ck check(dbo.f_check() between 0 and 100)

insert 课程表 select 90
/*
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 CHECK 约束"ck"冲突。该冲突发生于数据库"master",表"dbo.课程表"。
语句已终止。

*/


alter table 课程表
add constraint ck check(ing 
 后面是什么

引用
抱歉,我刚才没有说清楚问题。每个开设的课程有相应的学分,比如课程1是1学分,现在要设计一个触发器使得这些课程的学分总和限制在0到100之间


相关问答:

数据以xml格式返回 - MS-SQL Server / 应用实例

从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
   <folder state="unchecked&qu ......

求一SQL - MS-SQL Server / 基础类

tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......

mysql区没高手 - MS-SQL Server / 基础类

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号