집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!