작성한 프로시저를 삭제할 수 있습니다. 프로시저를 삭제할 때도 기존에 익숙한 DROP 명령어를 이용하여 삭제할 수 있습니다.

| 쿼리 문법 |

DROP PROCEDURE 프로시저명; 

22.6.1 쿼리 실습

기존에 실습하던 프로시저를 삭제해 보도록 하겠습니다.

| 예제 쿼리 |

drop procedure mem1; 

| 콘솔 실습 화면 |

mysql> drop procedure mem1;
Query OK, 0 rows affected (0.00 sec)

정상적으로 프로시저가 삭제되었습니다.

22.6.2 PHP 실습

PHP 코드를 통하여 작성한 프로시저를 삭제해 봅니다.

| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.

// 생성한 프로시저를 삭제합니다.
public function dropProcedure($name)
{
            if ($name) {
                $queryString = "DROP PROCEDURE $name";
                
                // 쿼리를 전송합니다.
                if (mysqli_query($this->dbcon, $queryString)=== TRUE) {
                    $this->msgEcho("쿼리성공] ".$queryString);
                    $this->msgEcho(" 프로시저 삭제!");
                    return true; 

                } else {
                    $this->msgEcho("Error] ".$queryString);
                    return false;
                }

            } else {
                $this->msgEcho("Error] 프로시저명을 적어주세요.");
            }
}

예제 파일 | pro-05.php

<?php

	include "dbinfo.php";
	include "mysql.class.php";
 
	// ++ Mysqli DB 연결.
	$db = new JinyMysql();

	$name = "mem";
	if ($db->dropProcedure($name)) {
		echo $name." 프로시저 삭제성공! <br>";

		if ($rowss = $db->isProcedure($name)) {
			echo "tables fields = ". count($rowss) . "<br>";
 
			for ($i=0;$i<count($rowss);$i++) {
				echo $i."=";            
				print_r($rowss[$i]);
				echo "<br>";
			}
		} else {
			echo $name." 프로시저를 찾을 수 없습니다.";
		}
        
	} else {
		echo "프로시저를 삭제 할 수 없습니다.<br>";
	}
 
?>

화면 출력

mysql connected!
쿼리성공] DROP PROCEDURE mem
프로시저 삭제!
mem 프로시저 삭제성공!
Error] SHOW CREATE PROCEDURE mem
mem 프로시저를 찾을 수 없습니다.