프로시저는 일련의 쿼리를 하나의 함수처럼 실행하기 위한 쿼리의 집합이다.
데이터베이스에서 SQL을 통해 작업하다 보면, 하나의 쿼리로 원하는 결과를 얻을 수 없을 때가 생긴다.
또한, 인자 값만 상황에 따라 바뀌고 동일한 로직의 복잡한 쿼리문이 필요할 때, 프로시저를 사용할 수 있다.
프로시저를 사용하면 애플리케이션에서 여러 상황에 따라 해당 쿼리문이 필요할 때 인자 값만 전달하여 쉽게 원하는 결과물을 받아낼 수 있다.
프로시저는 한 번의 요청으로 여러 SQL문을 실행할 수 있으므로, 네트워크에 대한 부하를 줄일 수 있다.
또한, 프로시저는 컴파일되어 데이터베이스에 저장되어 있기 때문에 실행속도가 향상된다.
반면, 구문 규칙이 SQL / PSM 표준과의 호환성이 낮기 때문에 코드 자산으로의 재사용성이 나쁘며, 문자 또는 숫자 연산에서 프로그래밍 언어인 C나 Java보다 성능이 느리다. 에러가 발생했을 때, 어디서 잘못됐는지 디버깅이 힘들 수 있다.