0

データベースに既に存在する場合、従業員IDの入力をチェックするストアドプロシージャを見つけようとしています。存在する場合は、彼/彼女の個人情報が挿入されます。ここに私のコードがあります: 私はひどく解決策が必要です! 私は SQL クエリの専門家ではありません。

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
4

1 に答える 1

0

選択中にwhere句を追加しemp_idます。

IF not EXISTS (SELECT emp_id FROM `assettracker`.`employee` Where emp_id=EmployeeID) Then
    //insert statement
END IF;
于 2012-08-28T09:48:03.993 に答える