在成绩表中创建一个触发器,题目在下面,如果你们电脑里没有成绩表的话,随便什么表都行,只要意思差不多
1)修改成绩表,新增一个“备注”列,数据类型为char(10),给出修改的SQL语句。(2)在成绩表中创建一个名为mytrigger的触发器,当对该表录入成绩信息或修改成...
1)修改成绩表,新增一个“备注”列,数据类型为char(10),给出修改的SQL语句。
(2)在成绩表中创建一个名为mytrigger的触发器,当对该表录入成绩信息或修改成绩列时,如果分数小于60分,则将备注列的内容写为“不及格”。给出创建触发器的SQL语句。 展开
(2)在成绩表中创建一个名为mytrigger的触发器,当对该表录入成绩信息或修改成绩列时,如果分数小于60分,则将备注列的内容写为“不及格”。给出创建触发器的SQL语句。 展开
4个回答
展开全部
第一个应该没问题吧
alter table 成绩表
add 备注 char(10)
给你第二个
Create trigger mytrigger on 成绩表
after insert,update
AS
begin
declare @分数 int, @tid int
select @tid = 学号, @分数 = 成绩 from inserted
if @分数 < 60
update 成绩表 set 备注 = '不及格' where 学号 = @tid
end
不给分让蔡莉挂死你亲
alter table 成绩表
add 备注 char(10)
给你第二个
Create trigger mytrigger on 成绩表
after insert,update
AS
begin
declare @分数 int, @tid int
select @tid = 学号, @分数 = 成绩 from inserted
if @分数 < 60
update 成绩表 set 备注 = '不及格' where 学号 = @tid
end
不给分让蔡莉挂死你亲
追问
你叫啥啊??说了就给分。
追答
。。。。老蔡???
展开全部
//MySQL数据库下
CREATE TABLE `score` (
`XH` varchar(10) NOT NULL,
`XM` varchar(20) NOT NULL,
`YuWen` smallint(6) default NULL,
`Demo` varchar(20) default NULL,
PRIMARY KEY (`XH`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//插入时的触发器
CREATE TRIGGER `Tri_Insert` BEFORE INSERT ON `score` FOR EACH ROW begin
if(NEW.YuWen <60) then
set NEW.Demo ='不及格' ;
end if;
end
;
//修改时和插入是近似的
CREATE TRIGGER `Tri_Update` BEFORE UPDATE ON `score` FOR EACH ROW begin
if(NEW.YuWen <60) then
set NEW.Demo ='不及格' ;
end if;
end
;
CREATE TABLE `score` (
`XH` varchar(10) NOT NULL,
`XM` varchar(20) NOT NULL,
`YuWen` smallint(6) default NULL,
`Demo` varchar(20) default NULL,
PRIMARY KEY (`XH`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//插入时的触发器
CREATE TRIGGER `Tri_Insert` BEFORE INSERT ON `score` FOR EACH ROW begin
if(NEW.YuWen <60) then
set NEW.Demo ='不及格' ;
end if;
end
;
//修改时和插入是近似的
CREATE TRIGGER `Tri_Update` BEFORE UPDATE ON `score` FOR EACH ROW begin
if(NEW.YuWen <60) then
set NEW.Demo ='不及格' ;
end if;
end
;
更多追问追答
追问
修改的和插入的不能同时进行吗?
追答
在mysql里面是这样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table mytable
( tid int,
tName char(10)
tFenshu int
tbeizhu char(10)
go
create trigger tr_mytable
on mytable
after insert,update
as
begin
declare @tid int,@tFenshu int
select @tid=tid,@tfenshu=tfenshu from insertd
if @tfenshu<60
update mytable set tbeizhu='不及格' where tid=@tid
end
go
( tid int,
tName char(10)
tFenshu int
tbeizhu char(10)
go
create trigger tr_mytable
on mytable
after insert,update
as
begin
declare @tid int,@tFenshu int
select @tid=tid,@tfenshu=tfenshu from insertd
if @tfenshu<60
update mytable set tbeizhu='不及格' where tid=@tid
end
go
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
常规制表
追问
不是制表问题,我是要创建这个触发器的SQL语句。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询