deletefromsc的简单介绍

http://www.itjxue.com  2023-01-06 05:35  来源:未知  点击次数: 

创建触发器:当删除学生表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);

(责任编辑:IT教学网)

更多