Tem como colocar o nome de um campo como variável em uma Procedure ?
Tipo assim:
Tenho uma Procedure que estou modificando para que o campo onde será feita a pesquisa seja uma variável passada como parâmetro:
DELIMITER ??
DROP PROCEDURE IF EXISTS sp_Pesquisa ??
CREATE DEFINER=`root`@`localhost` PROCEDURE sp_Pesquisa (IN vCampo VARCHAR(30),IN vCriterio VARCHAR(50))
BEGIN
SELECT ID_Clientes,Cliente,Contato,Email
FROM tab_dados
WHERE (vCampo) LIKE CONCAT ('%',vCriterio,'%');
END ??
DELIMITER;
Chamada:
CALL sp_Pesquisa ('Cliente', 'Silva')
Fiz assim e não funciona...se retiro o parâmetro "vCampo" deixando apenas o "vCriterio", e informo o nome real do campo, a SP funciona 100%.
Sendo assim, o erro está na forma que estou usando a variável "vCampo"...
Question
Danleonhart
Pessoal...
Tem como colocar o nome de um campo como variável em uma Procedure ?
Tipo assim:
Tenho uma Procedure que estou modificando para que o campo onde será feita a pesquisa seja uma variável passada como parâmetro:
Chamada:Fiz assim e não funciona...se retiro o parâmetro "vCampo" deixando apenas o "vCriterio", e informo o nome real do campo, a SP funciona 100%.
Sendo assim, o erro está na forma que estou usando a variável "vCampo"...
Alguém sabe como posso corrigir isso ?
Edited by Denis CourcyLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.