30 lines
743 B
SQL
30 lines
743 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`workerCreateExternal`(
|
|
vFirstName VARCHAR(50),
|
|
vSurname1 VARCHAR(50),
|
|
vSurname2 VARCHAR(50),
|
|
vUser VARCHAR(20),
|
|
vPassword VARCHAR(50),
|
|
vWorkerCode VARCHAR(3),
|
|
vRole INT(2)
|
|
)
|
|
BEGIN
|
|
DECLARE vUserId INT;
|
|
DECLARE vSurnames VARCHAR(100);
|
|
|
|
INSERT INTO account.`user`(name, nickname, password, `role`, hasGrant)
|
|
SELECT vUser, vUser, MD5(vPassword), vRole, false;
|
|
|
|
SET vUserId = LAST_INSERT_ID();
|
|
|
|
IF vSurname2 IS NULL THEN
|
|
SET vSurnames = vSurname1;
|
|
ELSE
|
|
SET vSurnames = CONCAT(vSurname1, ' ', vSurname2);
|
|
END IF;
|
|
|
|
INSERT INTO worker(id, firstName, lastName, code, isFreelance)
|
|
SELECT vUserId, vFirstName, vSurnames, vWorkerCode, true;
|
|
END$$
|
|
DELIMITER ;
|