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"...
Pergunta
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 ?
Editado por Denis CourcyLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.