Preciso montar uma função pra verificar se existe um registro numa tabela, porém, preciso passar por parâmetros o seguinte:
Nome da tabela, nome do campo de chave primária e o valor da chave primária... Então montar a consulta e retornar se existe ou não.
Assim eu consigo consultar a existencia de um registro em qualquer tabela que tenha chave primária inteira.
-- ------------------------------------------------------------------------------------------------------------
-- FUNCAO: validarRegistro
-- DESCRIÇÃO: Valida se existe um registro específico em uma tabela específica, através da chave primária
-- IMPORTANTE: A chave Primária tem que ser do tipo INT
-- ------------------------------------------------------------------------------------------------------------
CREATE FUNCTION validarRegistro( v_tabela VARCHAR(255), v_nomePK VARCHAR(255), v_valorPK INT) RETURNS BOOL
BEGIN
RETURN ( (SELECT COUNT(*) FROM v_tabela WHERE v_nomePK = v_valorPK) = 0 );
END;$
Pergunta
Spyder.RV
Boa tarde galera!!!!!
Preciso montar uma função pra verificar se existe um registro numa tabela, porém, preciso passar por parâmetros o seguinte:
Nome da tabela, nome do campo de chave primária e o valor da chave primária... Então montar a consulta e retornar se existe ou não.
Assim eu consigo consultar a existencia de um registro em qualquer tabela que tenha chave primária inteira.
quando rodo a função, recebo a mensagem abaixo:
SELECT validarRegistro('usuario', 'codUsuario', 101);
O que eu quero é que seja usado o NOME DA TABELA que está no parâmetro e não o próprio parâmetro.
Como fazer isso?
Editado por Denis CourcyLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados