0
직원 ID 입력이 데이터베이스에 이미 있는지 확인하는 경우 저장 프로 시저를 확인하려고합니다. 그것이 있으면 그/그녀의 개인 정보의 삽입이있을 것입니다. 내 코드는 다음과 같습니다. 해결책이 필요합니다. 나는 SQL 쿼리에서 전문가가 아니다.직원 ID가 등록 승인을 위해 존재하는지 확인하십시오.
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `register`(
IN EmployeeID INT(11),
IN GivenName VARCHAR(20),
IN MI VARCHAR(10),
IN Surname VARCHAR(20),
IN Gender VARCHAR(6),
IN month VARCHAR(2),
IN day VARCHAR(2),
IN year VARCHAR(4),
IN Landline INT(8),
IN Cellphone BIGINT(20),
IN EMail VARCHAR(30))
BEGIN
SELECT emp_id FROM `assettracker`.`employee`;
IF (empid=EmployeeID) THEN
INSERT INTO `assettracker`.`employee` (emp_fname, emp_midname, emp_surname, emp_gender,
emp_bday,emp_phone, emp_cellphone, emp_email)
VALUES(GivenName, MI, Surname, Gender, CONCAT(month,'/',day,'/',year),
Landline, Cellphone, EMail);
ENDIF;
END
오류없이 작동했습니다! 영향을받은 행은 0 개였습니다. 여기에 call 문이 있습니다.call assettracker.register (30001, 'Phoebe', 'C', 'Gojocco', 'Female', 08, 20, 1993, 654324, 09166394754, '[email protected]') – princessbubblegum
employee 테이블에 이미 저장된 사원 번호가 있습니다. 쿼리는 데이터 입력이 테이블에 있는지 확인해야합니다. – princessbubblegum
그런 다음 ** ** 제거하십시오. IF EXISTS 구문을 사용하십시오. – adatapost