programing

트리거에서 DELMITER //의 역할은 무엇입니까?

stoneblock 2023. 7. 23. 13:57

트리거에서 DELMITER //의 역할은 무엇입니까?

DELIMITER //

그것이 무슨 소용이 있습니까?

문 구분 기호를 에서 변경합니다.;로.//이것은 당신이 글을 쓸 수 있도록 하기 위함입니다.;트리거 정의에서 MySQL 클라이언트가 이 작업을 완료했다는 의미로 잘못 해석하지 않아도 됩니다.

다시 변경할 때는 다음과 같습니다.DELIMITER ;,것은 아니다.DELIMITER;사람들이 하려고 하는 것을 봐왔듯이.

SQL에서 각 문을 기본적으로 세미콜론(;)인 구분 기호로 닫습니다.트리거에서 여러 개의 문을 작성해야 하며, 각 문은 세미콜론으로 끝납니다.이러한 세미콜론이 트리거 문의 끝이 아님을 MySQL에 알리기 위해, 일시적으로 구분 기호를 ;에서 //로 변경하여 트리거 문이 //를 만날 때만 종료된다는 것을 MySQL이 알게 됩니다.

예를 추가합니다.
mysql shell 명령으로 작업할 때, 우리는 사용했습니다.;각 문을 닫는 구분 기호입니다.그러나 스토어 프로시저와 트리거를 구축하려는 경우 세미콜론을 추가해야 합니다.;이 진술들에서도.

delimiter //
create trigger log_students after insert on students
for each row
  begin
    insert into log_students(change_by, change_at) values(USER(), NOW());
  end//
delimiter ;

단순은 문 끝 구분 기호를 설정) 설정합니다.;표준, 기본 SQL의 세미콜론).캐릭터를 변경하는 것은 당신이 사용하기를 원할 때 유용할 수 있습니다.;SQL에 포함된 SQL을 사용하고 있는 경우(여기서 혼동이 발생할 수 있음).마찬가지로//예제에서는 포함된 SQL에서 혼동을 일으키거나 SQL에서 사용하기를 원할 수 있습니다.간단히 사용할 수 있습니다.DELIMITER응용 프로그램 및 필요에 적합한 구분 기호를 설정합니다.

(ummm) mysql 설명서를 읽습니다.

delimitermysql 명령줄 클라이언트에 보내는 각 명령의 끝을 나타내는 마커입니다.

delimiter트리거와 관련이 있을 뿐만 아니라 트리거 및 저장 프로시저를 정의하는 것도 강력한 사용 사례 중 하나입니다. 그렇지 않으면 기본값인 세미콜론(;)을 포함할 것입니다.delimiter.

언급URL : https://stackoverflow.com/questions/1346637/what-does-delimiter-do-in-a-trigger