저장 프로세스와 트리거
촉발기의 재인식
트리거는 특수한 유형의 저장 프로세스로 이전에 우리가 소개한 저장 프로세스와 다르다.트리거는 주로 이벤트를 통해 트리거를 하고 자동으로 호출되어 실행됩니다.저장 프로세스는 저장 프로세스의 이름을 통해 호출될 수 있다.
트리거와 스토리지 프로세스의 차이점:
트리거와 저장 과정의 주요 차이는 트리거의 운행 방식에 있다.저장 프로세스는 반드시 사용자, 응용 프로그램 또는 트리거가 표시하는 호출과 실행이 있어야 한다. 트리거는 특정 시간에 나타날 때 자동으로 실행되거나 활성화되며 연결용 데이터베이스에 있는 사용자, 또는 응용 프로그램과 무관하다.한 줄이 삽입되거나 업데이트되거나 삭제될 때 트리거가 실행되는 동시에 트리거가 어떻게 만들어지는지에 따라 UPDATE가 발생할 때 업데이트 트리거를 사용하고 INSERT가 발생할 때 삽입 트리거를 사용하며 DELETE가 발생할 때 삭제 트리거를 사용한다.
저장 프로세스의 호출
<span style="font-family:KaiTi_GB2312;font-size:24px;"><span style="white-space:pre"> </span>///<summary>
/// ID
///</summary>
///<paramname="caid"> ID</param>
///<returns></returns>
publicDataTable SelectByCaId(string caid)
{
//TODO: ID
DataTable dt = new DataTable();
//
stringcmdText = "news_selectByCaId";
SqlParameter[] paras = newSqlParameter[]{
new SqlParameter("@caid",caid )
};
dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);
returndt;
}</span>
메모리 프로세스를 호출하려면 메모리 프로세스의 이름을 통해 호출을 표시해야 합니다. 예를 들어 newsselectByCaId는 ExecuteQuery를 통해 호출해야 하는 저장 프로세스입니다.
저장 프로세스의 호출
<span style="font-family:KaiTi_GB2312;font-size:24px;">ALTER TRIGGER [dbo].[trigCategoryDelete]
ON [dbo].[category]
Instead of DELETE -- Begin
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 -- news
delete category where id =@caId -- category
--select * from news
--delete news where caId=(select id from deleted )
END</span>
trigCategory Delete 트리거에 있는 instead of Delete는 삭제 작업이 실행될 때까지 이 말을 자동으로 실행합니다. 코드나 이벤트로 호출할 필요가 없습니다.
총결산
트리거는 비교적 높은 완전성 제약 조건으로 사용자 정의의 완전성이 해결할 수 없는 문제를 해결하고 데이터베이스의 완전성을 향상시킨다.저장 프로세스는 시스템의 실행 효율과 속도를 높이기 위해 만들어진 것이다. 저장 프로세스를 구축한 후 클라이언트는 EXEC로 저장 프로세스를 실행하기만 하면 되고 지루한 데이터베이스 select 코드를 실행하지 않아도 된다.트리거와 저장 프로세스는 매우 비슷하다고 할 수 있다. 트리거는 변종의 저장 프로세스라고 할 수 있다. 트리거는 저장 프로세스와 마찬가지로 SQL 문장집이다. 보통 트리거를 만들어서 서로 다른 표의 논리적 관련 데이터의 인용 완전성과 일치성을 강제로 실현한다.
감명
공부는 반복되는 과정으로 매번 공부할 때마다 다른 수확을 얻을 수 있다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.