IN 연산자를 사용하여 저장 프로시저를 만들어 MySQL 테이블에서 값을 삭제할 수 있습니다. 이해를 돕기 위해 다음 데이터가 있는 'student_info'라는 테이블의 예를 들어보겠습니다. -
mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 100 | Aarav | Delhi | Computers | | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 110 | Rahul | Chandigarh | History | +------+---------+------------+------------+ 4 rows in set (0.00 sec)
이제 다음과 같이 'delete_studentinfo'라는 프로시저를 생성하여 'student_info' 테이블에서 값을 삭제할 수 있습니다 -
mysql> DELIMITER // ; mysql> Create Procedure Delete_studentinfo ( IN p_id INT) -> BEGIN -> DELETE FROM student_info -> WHERE ID=p_id; -> END // Query OK, 0 rows affected (0.11 sec) mysql> DELIMITER ; //
이제 다음과 같이 테이블에서 삭제하려는 값으로 프로시저를 호출합니다. −
mysql> CALL Delete_studentinfo(100); Query OK, 1 row affected (1.09 sec) mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 110 | Rahul | Chandigarh | History | | 125 | Raman | Bangalore | Computers | +------+---------+------------+------------+ 4 rows in set (0.01 sec)
위의 결과 집합은 id =100인 레코드가 테이블에서 삭제되었음을 보여줍니다.