프로그래밍_인포/데이터베이스&SQL

SQL 저장 모듈 소개: 프로시저, 사용자 정의함수, 트리거 한눈에 알아보기

jjscript 2023. 6. 15. 09:52
728x90
반응형

SQL 저장 모듈(Stored Module)

SQL 저장 모듈은 데이터베이스 시스템에서 사용되는 기능들의 집합입니다. 이 모듈은 데이터베이스 개발자나 관리자가 데이터의 구조, 조작, 유지보수 등을 더욱 효율적으로 수행할 수 있도록 도와줍니다. 이 중심에는 프로시저(Procedure), 사용자 정의 함수(User-Defined Function, UDF), 트리거(Trigger)라는 세 가지 요소가 있습니다.

프로시저(Procedure)

  • 프로시저는 SQL 문의 논리적인 블록으로, 일련의 SQL 문을 순차적으로 실행하는 저장 프로그램입니다.
  • 프로시저는 특정 작업을 수행하기 위해 사용되며, 매개변수를 받을 수 있고 결과를 반환할 수도 있습니다.
  • 프로시저는 주로 데이터의 입력, 갱신, 삭제 등과 같은 복잡한 데이터 조작 작업을 처리하기 위해 사용됩니다.
  • EXECUTE 명령어로 실행 가능합니다.
  • COMMIT, ROLLBACK 실행이 가능합니다.(TCL을 이용하여 트랜잭션 제어 가능)

사용자 정의 함수(User-Defined Function, UDF)

  • 사용자 정의 함수는 프로그래머가 자신이 필요로 하는 특정 기능을 정의하여 SQL 문에서 호출할 수 있는 함수입니다.
  • 사용자 정의 함수는 매개변수를 받아들이고, 해당 매개변수를 사용하여 특정 계산을 수행한 후 결과 값을 반환합니다.
  • 사용자 정의 함수는 단일 값을 반환하거나, 테이블 형태로 결과를 반환할 수도 있습니다.
  • 함수는 SQL 문에서 SELECT 문이나 WHERE 절 등에서 호출되어 사용될 수 있습니다.

트리거(Trigger)

  • 트리거는 데이터베이스 내의 특정 이벤트가 발생할 때 데이터베이스에 의해서 자동으로 실행되는 저장 프로그램입니다.
  • 트리거는 INSERT, UPDATE, DELETE 등의 데이터 변경 작업이 발생했을 때, 해당 작업 전후에 자동으로 실행되어 추가적인 작업을 수행합니다. 예를 들어, 특정 테이블의 행이 삭제될 때 연관된 다른 테이블의 데이터도 함께 삭제하거나 업데이트하는 등의 작업을 수행할 수 있습니다.
  • 트리거는 데이터의 일관성과 무결성 유지, 로그 작성 등을 위해 사용됩니다.
  • 생성 후 자동으로 실행됩니다.
  • COMMIT, ROLLBACK 실행이 불가능합니다.(TCL을 이용하여 트랜잭션 제어 불가능)

이러한 SQL 저장 모듈은 데이터베이스 시스템에서 데이터 조작과 관리 작업을 효율적이고 일관되게 처리할 수 있도록 도와줍니다. 프로시저, 사용자 정의 함수, 트리거는 개발자가 자신의 요구에 맞게 데이터베이스 동작을 정의하고 실행할 수 있는 강력한 툴이라고 볼 수 있습니다.

728x90
반응형