IN 연산자를 사용하여 저장 프로시저를 만들어 MySQL 테이블의 값을 업데이트할 수 있습니다. 이해를 돕기 위해 다음 데이터가 있는 'student_info'라는 테이블의 예를 들어보겠습니다. -
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)
이제 다음과 같이 'update_studentinfo'라는 프로시저를 생성하여 'student_info' 테이블의 값을 업데이트할 수 있습니다 -
mysql> DELIMITER // ; mysql> Create Procedure Update_studentinfo ( IN p_id INT, IN p_address varchar(20)) -> BEGIN -> UPDATE student_info -> SET -> address = p_address WHERE id = p_id; -> END // Query OK, 0 rows affected (0.13 sec)
이제 다음과 같이 테이블에서 업데이트하려는 값으로 프로시저를 호출합니다. −
mysql> Delimiter ; // mysql> CALL Update_studentinfo(125, 'Shimla'); Query OK, 1 row affected (0.14 sec) mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 110 | Rahul | Chandigarh | History | | 125 | Raman | Shimla | Computers | +------+---------+------------+------------+ 4 rows in set (0.00 sec)
위의 결과 집합은 테이블에서 id =125인 레코드의 주소가 업데이트되었음을 보여줍니다.