>  기사  >  데이터 베이스  >  MySQL 트리거를 사용하여 SELECT 문에 대한 작업을 시작할 수 있습니까?

MySQL 트리거를 사용하여 SELECT 문에 대한 작업을 시작할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-03 09:06:30664검색

Can MySQL Triggers Be Used to Initiate Actions on SELECT Statements?

MySQL의 SELECT 문에서 작업 트리거

특정 테이블에서 SELECT 문이 실행될 때 트리거를 사용하여 작업을 시작할 수 있나요?

답변:

아니요, MySQL 트리거는 INSERT, UPDATE 또는 DELETE 작업에 특별히 응답하도록 설계되었습니다. SELECT 문으로는 호출할 수 없습니다.

대체 솔루션:

테이블에서 레코드를 선택한 후 테이블 X에서 INSERT 문이 실행되는 원하는 기능을 얻으려면 예, 좀 더 간접적인 접근 방식이 필요합니다.

  1. 저장 프로시저 만들기:

    • 테이블에서 원하는 SELECT를 실행하는 저장 프로시저를 개발하세요. X.
  2. 직접 SELECT 액세스 제한:

    • 테이블 X에 대한 직접 SELECT 액세스를 제한하고 강제로 사용자 권한을 수정합니다. 사용자는 대신 저장 프로시저를 사용할 수 있습니다.
  3. 저장 프로시저 수정:

    • 호출을 포함하도록 저장 프로시저를 향상하세요. 트리거될 때 의도한 작업(예: INSERT)을 수행하는 추가 저장 프로시저에 추가됩니다.

이 솔루션을 구현하면 select 문에서 작업을 트리거하는 원하는 동작을 다음과 같이 구현할 수 있습니다. 달성했습니다.

위 내용은 MySQL 트리거를 사용하여 SELECT 문에 대한 작업을 시작할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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