提供以下存储过程:
DELIMITER $$
DROP PROCEDURE IF EXISTS ric_forn$$
CREATE PROCEDURE ric_forn (IN nome_forn VARCHAR(100) , OUT msg VARCHAR(100))
BEGIN
DECLARE num_rec INT;
IF (nome_forn = '') THEN
SET msg = "Attenzione il nome inserito non è valido !";
END IF;
SELECT COUNT(*) INTO num_rec FROM Fornitori WHERE Des_Fornitore = nome_forn;
IF num_rec = 0 THEN
SET msg = "Nessun record trovato !";
ELSE
SELECT Id_Fornitore, Des_Fornitore, Ind_Fornitore FROM Fornitori WHERE Des_Fornitore = nome_forn;
SET msg = "Records trovati:";
END IF;
END$$
DELIMITER ;
如何运行它?
我试过了:
call ric_forn (Des_Fornitore,msg);
call ric_forn (nome_forn ,msg);
call ric_forn ('' ,msg);
call ric_forn ('EAN srl' ,msg);
'EAN srl'是一个值
但我总是收到错误,例如Unknown列nome_forn或nknown列Des_Fornitore..etc
答案 0 :(得分:1)
尝试以这种方式运行SP -
SET @nome_forn = 'nome_forn'; --set your value
SET @msg = 'msg'; --set your value
CALL ric_forn(@nome_forn, @msg);
SELECT @msg; -- output