>  기사  >  데이터 베이스  >  데이터베이스의 저장 프로시저와 트리거의 차이점은 무엇입니까?

데이터베이스의 저장 프로시저와 트리거의 차이점은 무엇입니까?

清浅
清浅원래의
2019-04-26 17:36:2425611검색

저장 프로시저와 트리거의 차이점은 다음과 같습니다. 1. 저장 프로시저는 입력 매개변수를 사용할 수 있지만 트리거는 사용할 수 없습니다. 2. 저장 프로시저는 0 또는 n 값을 반환할 수 있지만 트리거는 값을 반환할 수 없습니다. 저장 프로시저에서 사용할 수 있지만 트리거는 허용되지 않습니다.

데이터베이스의 저장 프로시저와 트리거의 차이점은 무엇입니까?

[추천 과정: MySQL 튜토리얼

저장 프로시저와 트리거는 데이터베이스에서 매우 중요한 지식입니다. 다음으로 기사에서 여러 측면을 통해 두 가지의 차이점을 비교해보겠습니다. 그것들은 특정한 참조 효과를 가지고 있으며 그것이 모든 사람에게 도움이 되기를 바랍니다.

트리거란 무엇인가요?

트리거는 데이터베이스의 테이블/뷰에서 특정 특정 이벤트가 발생할 때 자동으로 실행되는 프로세스(코드 세그먼트)입니다. 트리거는 주로 데이터베이스의 무결성을 유지하는 데 사용됩니다. 트리거는 비즈니스 규칙을 적용하고 데이터베이스의 변경 사항을 감사하며 데이터를 복제하는 데에도 사용됩니다. 가장 일반적인 트리거는 데이터가 조작될 때 실행되는 DML(데이터 조작 언어) 트리거입니다. 일부 데이터베이스 시스템은 DDL(데이터 정의 언어) 이벤트가 발생할 때 실행되는 비데이터 트리거를 지원합니다. 이러한 트리거는 감사를 위해 특별히 사용될 수 있습니다. Oracle 데이터베이스 시스템은 스키마 수준 트리거를 지원합니다

저장 프로시저란 무엇입니까?

저장 프로시저는 관계형 데이터베이스에 액세스할 수 있는 애플리케이션입니다. 일반적으로 저장 프로시저는 데이터의 유효성을 검사하고 데이터베이스에 대한 액세스를 제어하는 ​​데 사용됩니다. 일부 데이터 처리 작업에 여러 SQL 문 실행이 필요한 경우 해당 작업은 저장 프로시저로 구현됩니다. 저장 프로시저를 호출할 때는 CALL 또는 EXECUTE 문을 사용해야 합니다. 저장 프로시저는 결과(예: SELECT 문의 결과)를 반환할 수 있습니다. 이러한 결과는 다른 저장 프로시저나 애플리케이션에서 사용될 수 있습니다. 저장 프로시저를 작성하는 데 사용되는 언어는 일반적으로 if, while, for 등과 같은 제어 구조를 지원합니다. 사용되는 데이터베이스 시스템에 따라 여러 언어를 사용하여 저장 프로시저를 구현할 수 있습니다. 저장 프로시저는 데이터베이스에 생성되고 저장되는 SQL 문 집합입니다. 따라서 코드를 계속해서 재사용할 수 있습니다. 트리거는 사용자가 직접 호출하지 않는 특수한 저장 프로시저로, 트리거 생성 시 특정 테이블이나 컬럼에 특정 유형의 데이터 수정이 있을 때 트리거되도록 정의됩니다.

(2) 사용자는 Execute 또는 Exec 문을 사용하여 저장 프로시저를 직접 호출하거나 실행할 수 있지만, 트리거를 직접 호출하거나 실행할 수는 없습니다. 해당 이벤트가 발생하면 트리거만 자동으로 실행됩니다. (3) 저장 프로시저는 입력 매개 변수를 사용할 수 있지만 매개 변수를 트리거의 입력으로 사용할 수는 없습니다.

(4) 저장 프로시저는 0 또는 n 값을 반환할 수 있지만 트리거는 값을 반환할 수 없습니다.

(5) 저장 프로시저에서는 트랜잭션을 사용할 수 있지만 트리거 내에서는 트랜잭션 처리가 허용되지 않습니다.

(6) 저장 프로시저는 일반적으로 사용자가 지정한 작업을 수행하는 데 사용됩니다. 감사 업무에 자주 사용됩니다

위 내용은 데이터베이스의 저장 프로시저와 트리거의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.