Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 아이오닉 스크롤 이벤트
- flex-1
- angular modal
- Ionic modal
- egov spring ajax 사용 예시
- 호버
- prisma
- summary
- ajax 사용 예시
- mysql if
- TAILWIND
- Router
- 셀렉트박스 커스텀
- modal
- 모달
- angular route
- 스크롤 이벤트
- formgroup
- ApexChart
- route
- 스크롤 이벤트 감지
- Oracle LISTAGG 사용 예시
- Angular Router
- 옵저버블
- angular animation
- 앵귤러 애니메이션
- 검색
- 앵귤러 모달
- scroll
- angular button
Archives
- Today
- Total
깜놀하는 해므찌로
MSSQL / ORACLE / MARIADB / MYSQL Insert Trigger SQL 기본 입력 트리거 생성 예시 본문
IT
MSSQL / ORACLE / MARIADB / MYSQL Insert Trigger SQL 기본 입력 트리거 생성 예시
agnusdei1207 2022. 10. 1. 08:46반응형
SMALL
0. 트리거 : 트리거는 1개의 테이블에 입력, 수정, 삭제 이벤트가 발생했을 경우 다른 테이블에도 연쇄적인 작업이 필요할 경우에만 사용하도록 합시다.
1. 트리거 예시로 두 개의 테이블을 사용하겠습니다.
2. 트리거로 데이터를 조작하기 위해 컬럼의 타입을 맞추도록 합니다. (선택)
CREATE TRIGGER t_pk_trigger
ON T_PK
AFTER UPDATE
AS
BEGIN
INSERT INTO t_pk values(5, '트리거 작동');
END
GO
3. 기본적인 UPDATE 트리거 생성 예시
CREATE TRIGGER t_fk_trigger
ON T_PK
AFTER INSERT
AS
BEGIN
INSERT INTO t_fk values(5, '트리거 작동');
END
GO
4. 두 개의 테이블을 사이에서 작동하는 INSERT 트리거 생성 예시
CREATE TRIGGER t_fk_trg
ON T_PK
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
// insert, update, delete 를 구분할 변수 (I, U, D)
DECLARE @Action AS CHAR(1)
// 기본 insert 로 시작
SET @Action = 'I'
// deleted 테이블과 inserted 테이블에 데이터가 둘 다 있다면 update 로 판단
// deleted 테이블에 데이터가 없으면 insert 로 판단
IF Exists(select * from deleted)
begin
SET @Action = (Case when Exists(SELECT * from inserted) then 'U' else 'D' END)
end
Declare @SEQ AS Int
Declare @C_NAME AS Varchar(50)
// insert, update, delete 를 구분하여 해당 테이블로부터 데이터를 가져와 변수에 저장
IF @Action = 'D'
Begin
SELECT @SEQ = SEQ, @C_NAME = C_NAME FROM deleted
End
Else
Begin
SELECT @SEQ = SEQ, @C_NAME = C_NAME FROM inserted
End
// 최종 결과 insert
INSERT INTO t_fk(SEQ, C_NAME) values(@SEQ, @C_NAME);
END
GO
5. 1개의 테이블에 INSERT 가 될 경우 다른 테이블에 해당 값이 입력되록하는 INSERT 트리거 예시
6. 변수를 선언한 후
7. 첫 테이블에 INSERT 된 값들을 변수에 넣고
8. 가상 테이블인 inserted / deleted 로부터 조회 후 선언해둔 변수에 저장합니다.
9. 끝으로 2번째 테이블에 해당 값을 INSERT 합니다.
반응형
LIST
'IT' 카테고리의 다른 글
MsSQL 분 더하기 빼기 (시간) (0) | 2022.10.03 |
---|---|
SSMS SQL Query 쿼리 토글 번호 보기 설정하는 방법 (0) | 2022.10.02 |
이클립스 톰켓 서버 오류 시 세션 강제 종료 방법/ Eclipse tomcat server error / 톰캣 서버 세션 종료 CMD / taskkill (0) | 2022.09.30 |
Oracle 시간 계산 / Oracle FLOOR, MOD / 소수점 계산으로 보이도록 출력 (0) | 2022.09.29 |
@EnableScheduling 사용 예시 (0) | 2022.09.28 |