![[Oracle] DML Trigger - 테이블에서 사용하는 트리거 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0IphG%2FbtsKDB122jC%2FuH6TYLO2ImVWHm0wPBHXf1%2Fimg.png)
DML Trigger트리거, 우리 대부분 트리거에 대해서 알고 있을 것 이다. 트리거의 특징으로는 아래 정도 알 고 있을 것 이다.* 특정한 동작이 실행되었을 때, 자동으로 함께 실행되는 것 * 데이터의 무결성을 유지* 자동으로 함께 실행되기에 성능 이슈가 있을 수 있다create or replace trigger [트리거 이름]before [or atfer] -- dml문 이전이냐 이후냐insert [or update / delete] [트리거가 동작할 테이블] -- 테이블에서 지정한 dml문이 동작시 트리거 실행[FOR EACH ROW] -- 행 트리거 일 경우 / 문장 트리거 생략begin -- 동작할 트리거 내용end;근데 트리거에 대해서 깊게 생각 해본 적이 있는가??? 그냥 함께 실행된다..
![[MsSQL] 모든 DB에 한번 쿼리 던지기 / DB 모를 때 (SP_MSFOREACHDB 활용하기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FenLCDr%2FbtsEnaqw7x0%2FM2HMDsbfif160VDd9XBi91%2Fimg.png)
자주 쓰는 쿼리 - SP_MSFOREACHDB 특정 테이블을 찾고 싶은데, 어떤 데이터베이스에 있는지 모를 때, 혹은 여러 데이터베이스들을 돌아가며 파일사이즈를 조사할 때 같이 모든 데이터베이스에 같은 쿼리를 조회하고 싶을 때가 있다. 이럴 때 쓸수있는 시스템 프로시저로 단순 조회작업 뿐만 아니라 프로시저에 활용하여 로그성 데이터, 반복적인 쿼리 조회등을 단순화 하여 업무 능률을 향상 할 수 있다. Query 사용방법은 매우 간단하다. EXEC MASTER.dbo.SP_MSFOREACHDB ' use ? begin [QUERY] end ' SP_MSFOREACHDB의 파라미터로 ' use ? begin [쿼리문] end ' 값을 넣어주면, use ? 부분에 모든 데이터베이스가 한번씩 들어가 쿼리문을 실행..
![[MsSQL] OUTPUT - Update 사용 시, 변경 전/후 행 반환하기 (deleted/inserted)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVrJie%2FbtstsPva62A%2Fii0Tun3rHCpC2j5hMXIeCK%2Fimg.png)
OUTPUT Output 구문은 insert, update, delete, merge 문과 함께 사용되며, 각 DML문에 처리되는 행을 반환하는 문법이다. 각 행을 반환하여, Into 구문를 통해 TABLE 혹은 TEMP TABLE 에 해당 행을 삽입한다. Update 문 사용 시 Output update TABLE_A set a_column1 = 'value3' -- output 구문 output deleted.a_column1, inserted.a_column2, deleted.a_column3 + inserted.a_column3 -- into 구문 into TABLE_B (b_column1, b_column2, b_column3) where [조건] update문 사용시, update ~set과 ..
![[MsSQL] OUTPUT - Insert 사용 시, 삽입 된 행 반환하기 (Inserted)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfEY9u%2FbtssSBTEYUW%2FiqRUY5PmXPHluHYykUFqsK%2Fimg.png)
OUTPUT Output 구문은 insert, update, delete, merge 문과 함께 사용되며, 각 DML문에 처리되는 행을 반환하는 문법이다. 각 행을 반환하여, Into 구문를 통해 TABLE 혹은 TEMP TABLE 에 해당 행을 삽입한다. Insert 문 사용 시 Output insert into TABLE_A (a_column1, a_column2, a_column3 ...) -- output 구문 output inserted.a_column1, inserted.a_column2, inserted.a_column3 ... -- into 구문 into TABLE_B (b_column1, b_column2, b_column3 ...) values (value1, value2, value3..