이 글에서는 mysql에 대한 관련 지식을 소개합니다. MySQL 저장 프로시저 매개변수의 사용법과 설명을 주로 소개합니다. MySQL 저장 프로시저 매개변수에는 IN, OUT, INOUT 세 가지 유형이 있습니다. . 모두에게 도움이 되기를 바랍니다.
추천 학습: mysql 비디오 튜토리얼
MySQL 저장 프로시저에는 세 가지 유형의 매개변수가 있습니다:
IN
IN
OUT
INOUT
OUT code>
INOUT
저장 프로시저 호출 시 저장 프로시저에 데이터를 전달하는 매개 변수(호출된 저장 프로시저에는 다음이 있어야 합니다. 실제 값 변수 또는 리터럴 값)세부 사항에 대한 참고 사항: 다음 저장 프로시저 생성은 오류를 보고합니다. 해당 유형 및 유형 길이
는 생성된테이블 필드
-- 创建一个存储过程:添加一个员工信息 DELIMITER $$ CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR,IN `p_call` VARCHAR) BEGIN INSERT INTO employees(`name`,`call`) VALUES(`p_name`,`p_call`); END $$
올바른 쓰기
-- 创建一个存储过程:添加一个员工信息 DELIMITER $$ CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR(64),IN `p_call` VARCHAR(64)) BEGIN INSERT INTO employees(`name`,`call`) VALUES(`p_name`,`p_call`); END $$
이제 저장 프로시저를 호출하여 데이터를 추가할 수 있는지 테스트해 보겠습니다.
먼저 테이블의 원본 데이터를 살펴보세요
전화 thestored Procedure
CALL procedure_test4('李四','321321')
결과를 다시 살펴보겠습니다
저장 프로시저에서 생성된 데이터를 호출자에게 반환하고, 이는 Java 메소드의 반환 값과 동일하지만 차이점은 저장 프로시저라는 것입니다. 여러 개의 출력 매개변수가 있을 수 있습니다
예:
-- 创建一个存储过程:根据id查询出该员工姓名 DELIMITER $$ CREATE PROCEDURE procedure_test5(IN `p_id` INT(64),OUT `p_name` VARCHAR(64)) BEGIN SELECT `name` INTO `p_name` FROM employees WHERE id=`p_id`; END $$
생성하는 데 문제가 없습니다. 그런 다음 호출하고 테스트하세요
SET @e_name='' CALL procedure_test5('2',@e_name) SELECT @e_name FROM DUAL
입출력 매개변수(INOUT)
-- INOUT(输入输出参数) DELIMITER $$ CREATE PROCEDURE procedure_test6(INOUT str VARCHAR(64)) BEGIN -- 把你传进来的值作为条件,查询出的结果再重新赋值给 str 返回出去 -- 这里的 str 既当输入参数,也当输出参数 SELECT `name` INTO str FROM employees WHERE id=str; END $$
생성하는데 문제없으니 다음으로 테스트
SET @e_name='2' CALL procedure_test6(@e_name) SELECT @e_name FROM DUAL
해서 문제없지만 실제 개발에서는 INOUT을 아껴서 사용하는 것이 좋습니다. 이유: 코드의 가독성이 나빠질 것입니다
추천 학습: 🎜mysql 비디오 튜토리얼🎜🎜위 내용은 MySQL 저장 프로시저 매개변수의 사용법과 설명을 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!