>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 저장 프로시저를 사용하여 두 테이블에 동시에 레코드를 삽입할 수 있습니까?

MySQL에서 저장 프로시저를 사용하여 두 테이블에 동시에 레코드를 삽입할 수 있습니까?

WBOY
WBOY앞으로
2023-08-25 21:01:131345검색

MySQL에서 저장 프로시저를 사용하여 두 테이블에 동시에 레코드를 삽입할 수 있습니까?

예, 저장 프로시저를 사용하여 단일 쿼리로 두 테이블에 삽입할 수 있습니다. 먼저 테이블을 생성해 봅시다 -

mysql> create table DemoTable
(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentFirstName varchar(20)
);
Query OK, 0 rows affected (0.56 sec)

두 번째 테이블을 생성하는 쿼리는 다음과 같습니다-

mysql> create table DemoTable2
(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(20),
   ClientAge int
);
Query OK, 0 rows affected (0.76 sec)

다음은 위에서 생성한 두 테이블에 삽입할 저장 프로시저를 생성하는 쿼리입니다-

mysql> DELIMITER //
   mysql> CREATE PROCEDURE insert_into_twoTables(name varchar(100),age int)
      BEGIN
         INSERT INTO DemoTable(StudentFirstName) VALUES(name);
         INSERT INTO DemoTable2(ClientName,ClientAge) VALUES(name,age);
      END
      //
   Query OK, 0 rows affected (0.14 sec)
mysql> DELIMITER ;

이제 도움말을 사용하여 호출합니다. of CALL 명령 저장 프로시저 -

mysql> call insert_into_twoTables('Tom',38);
Query OK, 1 row affected, 1 warning (0.41 sec)

두 테이블에 레코드가 삽입되었는지 확인합니다.

첫 번째 테이블의 모든 레코드를 표시하는 쿼리는 다음과 같습니다. -

mysql> select *from DemoTable;

이 결과는 다음과 같습니다.-

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1         | Tom              |
+-----------+------------------+
1 row in set (0.00 sec)

다음은 두 번째 테이블의 모든 레코드를 표시하는 쿼리입니다.

mysql> select *from DemoTable2;

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

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | Tom        | 38        |
+----------+------------+-----------+
1 row in set (0.00 sec)

위 내용은 MySQL에서 저장 프로시저를 사용하여 두 테이블에 동시에 레코드를 삽입할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제