Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 저장 프로시저에서 DELETE 쿼리 구현

<시간/>

저장 프로 시저를 사용할 수 있으며 매개 변수를 통해 값을 전달할 수 있습니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1464
   -> (
   -> Id int,
   -> FirstName varchar(20)
   -> );
Query OK, 0 rows affected (0.51 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1464 values(101,'Chris Brown');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1464 values(102,'John Doe');
Query OK, 1 row affected (0.09 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1464;

이것은 다음과 같은 출력을 생성합니다 -

+------+-------------+
| Id   | FirstName   |
+------+-------------+
|  101 | Chris Brown |
|  102 | John Doe    |
+------+-------------+
2 rows in set (0.00 sec)

다음은 저장 프로시저에서 삭제 쿼리를 구현하는 쿼리입니다. -

mysql> DELIMITER //
mysql> CREATE PROCEDURE delete_demo(IN local_Id int, IN local_Name varchar(20))
   -> BEGIN
   ->    delete from DemoTable1464
   ->    where Id=local_Id and
   ->      FirstName=local_Name;
   -> END //
Query OK, 0 rows affected (0.24 sec)
mysql> DELIMITER ;

이제 CALL 명령을 사용하여 저장 프로시저를 호출할 수 있습니다 -

mysql> call delete_demo(102,'John Doe');
Query OK, 1 row affected, 1 warning (0.11 sec)

다시 한번 테이블 기록을 확인해보자 -

mysql> select * from DemoTable1464;

이것은 다음과 같은 출력을 생성합니다 -

+------+-------------+
| Id   | FirstName   |
+------+-------------+
|  101 | Chris Brown |
+------+-------------+
1 row in set (0.00 sec)