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;$quando rodo a função, recebo a mensagem abaixo:
SELECT validarRegistro('usuario', 'codUsuario', 101);
SQL execution error #1146. Response from the database:
Table 'winmodel.v_tabela' doesn't exist
O que eu quero é que o valor 'usuario' esteja na consulta e não o próprio parâmetro.
Como fazer isso?
Edição feita por: Spyder.RV, 31/01/2011, 09:52.