본문 바로가기

Development/C#

C# CommandText 로 Mysql에 직접 트리거 생성하기

사용중인 데이터베이스의 업데이트 처리를 위해 트리거를 코드에서 직접 생성해야 할때

CommandText로 해당 Create Trigger `table_before_delete`.... 로 생성하려 해도 에러로 실행되지 않는다.

 

그럴경우 MysqlCommand 대신 MySqlScript로 해당 구문을 실행시켜서 트리거를 생성한다.

 

1. Mysql에 접속

MySqlConnection conn = new MySqlConnection(strConnection);

 

2. MySqlScript 생성

MySqlScript script = new MySqlScript(conn);

 

3. MySqlScript에 Query 변수에 트리거 생성 구문 등록

 - //DELIMITER 필요, 종료시 //처리도 함꼐 필요 //;로 문장종료 할 수 없음

script.Query = @"DELIMITER // CREATE Trigger `table_before_delete` ......;   //";

 

4. 해당 스크립트를 실행시킨다.

script.Execute();

 

5. Mysql 접속 종료

conn.Close();