牛腩新闻发布系统后台知识点总结------触发器与储存过程

举报
ksh1998 发表于 2021/12/25 23:55:50 2021/12/25
【摘要】 前言: 牛腩新闻发布系统是用ASP.net动态网页语言 编写的前台,后台是用的还是c#的类库作为后台的逻辑封装。和之前的区别是之前是桌面应用,这个是网页端应用。从架构上的区分为:c/s架构和b/s架构,一...

前言:
牛腩新闻发布系统是用ASP.net动态网页语言 编写的前台,后台是用的还是c#的类库作为后台的逻辑封装。和之前的区别是之前是桌面应用,这个是网页端应用。从架构上的区分为:c/s架构和b/s架构,一个是客户端和服务器,另一个是客户浏览器和服务器。
触发器:
概念:
简单来说触发器就相当于窗体程序里的一个事件,比如单击事件,双击事件等等(只不过触发器只有三种事件,插入,删除和更新)~~和这个功能一样,每当触发这个事件都会执行事件里提前写好的代码体,只不过这是在SqlServer里执行提前设置好的sql语句而已。‘’
代码:

USE [newssystem]
GO
/****** Object:  Trigger [dbo].[trigCategoryDelete]   
 Script Date: 2020/4/28 19:18:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		康世行
-- Create date: 2020-4-16 10:12:32
-- Description:	删除类别触发器
-- =============================================
CREATE TRIGGER [dbo].[trigCategoryDelete]
   ON  [dbo].[category]
  instead of  DELETE
AS 
BEGIN
 declare @caId int 
 select @caId=id from deleted
 --删除评论(因为评论和新闻是一对多所以用in)
 delete comment where newsId in (select newsId from news 
 where caId=@caId)
 --删除新闻
 delete news where caId=@caId
 --删除类别
 delete category where id=@caId
END


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

储存过程:
概念
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升
创建储存过程代码:

USE [newssystem]
GO
/****** Object:  StoredProcedure [dbo].[news_insert] 
   Script Date: 2020/4/28 19:27:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		康世行
-- Create date: 2020-4-21 09:28:10
-- Description:	增加新闻
-- =============================================
ALTER PROCEDURE [dbo].[news_insert]
@title varchar(100),
@content text,
@createTime datetime,
@caId int
AS
BEGIN
  INSERT INTO news (title, [content],createTime, caId)
  VALUES (@title,@content,@createTime,@caId)
END

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

两者之间区别:

   触发器有三种事件分别是:插入,删除,更新。每当发生这三种操作中的
  其中一种,触发器就会响应相应的操作。而储存过程没有这些对应的事件
  ,只是一个sql语句的集合而已。里面储存了比较复杂的sql语句方便使用

  
 
  • 1
  • 2
  • 3

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/105821646

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。