SQL 2008 怎么实现删除学生表里面的一条记录,成绩表里面关于这个学生的记录也同时删掉,谢求具体代码

 我来答
匿名用户
2015-04-08
展开全部
-- 按照注释一步步执行 看效果
--创建表
IF OBJECT_ID('tstudent') > 0
    DROP TABLE tstudent
GO 
CREATE TABLE tstudent
    (
      fstudentno VARCHAR(10) PRIMARY KEY ,
      fname NVARCHAR(10),
    )

IF OBJECT_ID('tScore') > 0
    DROP TABLE tScore
CREATE TABLE tScore
    (
      fstudentno VARCHAR(10) PRIMARY KEY ,
      fscroe INT
    )
GO


--插入测试数据
INSERT  dbo.tstudent
        ( fstudentno, fname )
VALUES  ( '001', -- fstudentno - varchar(10)
          N'小张'  -- fname - nvarchar(10)
          )
          
INSERT  dbo.tScore
        ( fstudentno, fscroe )
VALUES  ( '001', -- fstudentno - varchar(10)
          90  -- fscroe - int
          )
          
 --查看插入效果
SELECT  *
FROM    dbo.tScore
SELECT  *
FROM    dbo.tstudent

--创建触发器
if (object_id('tgr_DeleteByStudentNo', 'tr') is not null)
    drop trigger tgr_DeleteByStudentNo
    Go
--创建一个删除的触发器
CREATE  trigger tgr_DeleteByStudentNo ON  tstudent
AFTER DELETE
as
    DECLARE @strStudentNo VARCHAR(10)
    SELECT @strStudentNo = fstudentno FROM deleted
    
    DELETE  FROM tScore WHERE fstudentno = @strStudentNo



DELETE FROM tstudent WHERE fstudentno = '001'

 --查看删除效果
SELECT  *
FROM    dbo.tScore
SELECT  *
FROM    dbo.tstudent
百度网友3697f927b
2015-04-08 · TA获得超过155个赞
知道小有建树答主
回答量:382
采纳率:100%
帮助的人:304万
展开全部
你可以研究一下 触发器,在学生表下加一个触发器就ok了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式