SQL 트리거(삽입, 업데이트, 삭제)
--삽입 트리거
트리거 생성 tri_insert
학생 — 변경할 테이블의 이름
삽입 — 데이터 조각을
테이블에 삽입할 때 트리거됨 @student_id char(10) --변수 정의
SELECT @student_id=s.student_id from --쿼리된 지정된 필드의 값을 변수에 할당합니다.
student s 내부 조인이 i
에 삽입되었습니다. .student_id=i.student_id
if @student_id='0000000001'
begin
Raiserror('학생번호 1을 삽입할 수 없습니다!',16,8)
트랜 롤백
end
go
--업데이트 트리거
트리거 생성 tri_update
학생--변경할 테이블의 이름
업데이트--데이터 조각이 table
as
if update(student_id)
begin
Raiserror('학생 ID를 수정할 수 없습니다!',16,8)
롤백 tran
end
go
--삭제 트리거
트리거 생성 tri_delete
학생 --변경할 테이블 이름
삭제용 --테이블에서 데이터를 삭제할 때 트리거
as
@student_id varchar(10) 선언
삭제된 항목에서 @student_id=student_id 선택
if @student_id='admin'
begin
Raiserror('error',16,8)
롤백 전환
end
설명: 데이터를 삭제할 때 데이터베이스가 삭제된 데이터를 삭제된 임시 테이블에 넣을 것이라고 가정할 수 있습니다. 삭제된 필드를 삽입할 때 삽입된 테이블에 삽입할 데이터를 넣는다는 점만 제외하고 원칙은 동일합니다.
업데이트 작업은 두 가지 작업을 수행하는 것으로 볼 수 있습니다. 먼저 행 레코드를 삭제한 다음 삽입하는 방식으로 업데이트 작업은 실제로 삭제된 테이블과 삽입된 테이블에 대해 수행되므로 업데이트된 테이블이 발생하지 않습니다. 두 테이블에 기본키와 외래키 관계가 있을 때, 메인 테이블의 데이터를 삭제하고 싶다면, 서브 테이블과 관련된 데이터도 함께 삭제하게 되는데, 이때 트리거를 사용하면, 테이블을 삭제한 후에 트리거가 트리거되므로 아무런 효과가 없습니다. 예, 이 시점에서 "기본 및 외래 키 관계가 있으므로 삭제할 수 없습니다."라는 메시지가 표시되면서 바로 종료됩니다. 효과가 없습니다

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









