前言:
牛腩新聞發佈系統是用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
儲存過程:
概念
存儲過程(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
兩者之間區別:
觸發器有三種事件分別是:插入,刪除,更新。每當發生這三種操作中的
其中一種,觸發器就會響應相應的操作。而儲存過程沒有這些對應的事件
,只是一個sql語句的集合而已。裏面儲存了比較複雜的sql語句方便使用