易截截图软件、单文件、免安装、纯绿色、仅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 / 疑难问题

请教高手:
 以下是数据库中的三条记录,英文为字段名称  
  id planname TaskBeginTime Status
329 2010年03 ......

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

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......

sql语句问题 - MS-SQL Server / 疑难问题

现在有一个部门表dept(部门名称,部门号。。)有一个人员表emp(姓名,人员编号,职位,薪资,部门)
emp表中的内容是这样的:
a 1 工程师 3000 软件部
b 2 普通员工 2000 硬件部
c 3 工程师 4000 硬件部
d ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号