>  기사  >  데이터 베이스  >  "OLD 및 NEW 키워드를 사용하면 트리거의 영향을 받는 행의 열에 액세스할 수 있습니다."

"OLD 및 NEW 키워드를 사용하면 트리거의 영향을 받는 행의 열에 액세스할 수 있습니다."

WBOY
WBOY앞으로
2023-09-18 23:01:12786검색

OLD 및 NEW 키워드를 사용하면 트리거의 영향을 받는 행의 열에 액세스할 수 있습니다.

트리거 정의에서 삽입, 업데이트 또는 삭제되는 행의 열을 참조할 수 있다는 것을 알고 있습니다. OLD 및 NEW 키워드를 사용하여 열에 액세스하는 방법은 다음과 같습니다.

  • 원래 행의 값을 참조하려면 열 이름 앞에 OLD 한정자를 추가해야 합니다.

  • 새 행의 값을 참조하려면 열 이름 앞에 NEW 한정자를 추가해야 합니다.

이제 이벤트가 발생하기 때문에 OLD와 NEW를 적절히 사용해야 합니다

허용되는 항목 결정 −

  • INSERT 트리거에서 NEW.column_name은 새 행에 삽입될 열 값을 나타냅니다. 여기서는 OLD가 허용되지 않습니다.

  • DELETE 트리거에서 OLD.column_name은 삭제할 행의 열 값을 나타냅니다. 여기서 NEW는 허용되지 않습니다.

  • UPDATE 트리거에서 OLD.column_name 및 NEW.column_name은 각각 행이 업데이트되기 전과 후의 행에 있는 열의 값을 참조합니다.

즉, OLD는 읽기 전용으로 사용해야 하고, NEW는 열의 값을 읽거나 변경하는 데 사용할 수 있다고 할 수 있습니다.

트리거에 OLD 키워드를 사용하세요

다음은 OLD가 어떻게 사용되는지 보여주는 DELETE 트리거 예시입니다 −

으아아아

트리거에 키워드 NEW를 사용하세요

다음은 INSERT 트리거의 예시로 NEW −

사용법을 보여줍니다.
mysql> CREATE TRIGGER studentinfo_after_delete
   -> AFTER DELETE
   -> ON student_info
   -> FOR EACH ROW FOLLOWS
   -> BEGIN
   -> DECLARE vuser varchar(30);
   -> SELECT USER() into vuser;
   -> INSERT INTO student_info_deleted(id,deleted_date,deleted_by) VALUES(OLD.id,SYSDATE(),vuser);
   -> END; //
Query OK, 0 rows affected (0.25 sec)

위 내용은 "OLD 및 NEW 키워드를 사용하면 트리거의 영향을 받는 행의 열에 액세스할 수 있습니다."의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제