deletefromsc的简单介绍
创建触发器:当删除学生表S中的一条学生记录时,自动删除选修表SC中该学生的成绩记录
MSSQL:
首先你的学号在sc的外键必须是 on delete cascade
alter table sc
add constraint fk_test foreign key (学号) references s(学号) on delete cascade
create trigger test on s
after delete
as
begin
delete from sc where 学号 in (select 学号 from deleted)
end
Oracle:
create or replace trigger test
after delete on s
for each row
begin
delete from sc where 学号=:old.学号;
end;
扩展资料:
SQL语法
DELIMITER |
CREATE TRIGGER `databaseName`.`triggerName`
[ BEFORE | AFTER ] [ INSERT | UPDATE | DELETE ]
ON [dbo]tableName //dbo代表该表的所有者
FOR EACH ROW
BEGIN
--do something
END |
参考资料来源:百度百科-触发器
怎样用c#删除有两个主键的表中的数据,如学生和选课关系(sc)表,中有sno
学生与选课关系表,应该是一张多对多的关系表。sno与cno应该都是其中的外键而不是主键。你这张表应该有自己的主键。然后根据这个主键来删除表中的记录。
简单来说,就是你这张表结构设计的不是很合理。应该新增一个字段作为主键,学生id,课程id应该是外键。
当然,如果你非要用你的设计,你就只能这样删除了delete from sc where sno=xxx and cno=yyy
在数据库中删除sc表中学号为15121的成绩记录,,求代码
你是删除整条记录,还是符合条件记录的成绩?
1、删除整条记录:
DELETE FROM sc WHERE 学号=15121;
2、删除符合条件记录的成绩
UPDATE sc SET 成绩= '' WHERE 学号=15121;
根据实际情况去套吧。
DELETE FROM SC WHERE 'CS'= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno)
DELETE FROM SC WHERE 'CS'= (SELECT Sdept FROM Student WHERE Student.Sno=SC.Sno),关键字错误,你执行我的语句试试!
删除student表中一条记录的同时删除其在sc表中对应的记录的SQL语句怎么写
delete from sc where 主键 = ( select 对应主表字段 form strudent where 主键=那条记录id);