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

MySQL에서 select 문을 사용하여 저장 프로 시저를 호출하는 방법은 무엇입니까?

<시간/>

MySQL에서는 FROM 절에서 select from procedure를 사용할 수 없습니다. CALL 명령을 사용하고 그 후에 SELECT 문을 실행할 수 있습니다.

먼저 테이블을 생성해 보겠습니다.

mysql> create table DemoTable2
   -> (
   -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> CustomerName varchar(100),
   -> ShippingDateTime datetime
   -> );
Query OK, 0 rows affected (0.66 sec)

다음은 저장 프로시저를 생성하는 쿼리입니다.

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_information(Name varchar(100),shippingtime datetime)
   -> BEGIN
   ->
   -> INSERT INTO DemoTable2(CustomerName,ShippingDateTime) VALUES(Name,shippingtime);
   -> END
   -> //
Query OK, 0 rows affected (0.16 sec)

mysql> DELIMITER ;

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

mysql> call insert_information('Chris',NOW());
Query OK, 1 row affected, 1 warning (0.15 sec)

다음은 저장 프로시저를 호출한 후 select 문을 사용하여 테이블의 레코드를 표시하는 쿼리입니다.

mysql> select *from DemoTable2;

그러면 다음과 같은 출력이 생성됩니다.

+------------+--------------+---------------------+
| CustomerId | CustomerName | ShippingDateTime    |
+------------+--------------+---------------------+
| 1          | Chris        | 2019-04-08 15:03:07 |
+------------+--------------+---------------------+
1 row in set (0.00 sec)