수요일, 2월 10, 2021

[유튜브 방송] (즐겁게 배우는 SQL #48) 트리거 - INSTEAD OF 트리거

[유튜브 방송] (즐겁게 배우는 SQL) 기획 소개에서 설명드린 즐겁게 배우는 SQL 48편을 공개해드리겠다. 48편은 INSTEAD OF 트리거를 소개한다.

2021년 2월 10일자 [즐겁게 배우는 SQL #48] 트리거 - INSTEAD OF 트리거 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 즐겁게 배우는 SQL에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 00:00 INSTEAD OF 트리거 기본 형식
  • 01:03 INSTEAD OF 트리거 예제

원본 학습자료는 SQLite INSTEAD OF Triggers를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1: INSTEAD OF 트리거 기본 형식
    CREATE TRIGGER [IF NOT EXISTS] schema_ame.trigger_name
        INSTEAD OF [DELETE | INSERT | UPDATE OF column_name]
        ON table_name
    BEGIN
        -- insert code here
    END;
    
  • 단계 2: INSTEAD OF 트리거 예제
    1. SQL> CREATE VIEW AlbumArtists( AlbumTitle, ArtistName ) AS SELECT Title, Name FROM Albums INNER JOIN Artists USING (ArtistId);
    2. SQL> SELECT * FROM AlbumArtists;
    3. SQL> INSERT INTO AlbumArtists(AlbumTitle,ArtistName) VALUES('Who Do You Trust?','Papa Roach');
    4. SQL> CREATE TRIGGER insert_artist_album_trg INSTEAD OF INSERT ON AlbumArtists BEGIN INSERT INTO Artists(Name) VALUES(NEW.ArtistName); INSERT INTO Albums(Title, ArtistId) VALUES(NEW.AlbumTitle, last_insert_rowid()); END;
    5. SQL> INSERT INTO AlbumArtists(AlbumTitle,ArtistName) VALUES('Who Do You Trust?','Papa Roach');
    6. SQL> SELECT * FROM Artists ORDER BY ArtistId DESC;
    7. SQL> SELECT * FROM Albums ORDER BY AlbumId DESC;
EOB

댓글 없음:

댓글 쓰기