AdrianoMoura 0 Denunciar post Postado Fevereiro 22, 2019 Olá pessoal, Estou tentando montar uma função para me retornar a lista de qualquer tabela, a função deve ser chamada assim. > select getLista('tabela.campo'); o resultado deve ser algo como '1;2;3;' segue a função abaixo CREATE FUNCTION getlista(field CHAR(30)) RETURNS VARCHAR(4000) begin declare lista varchar(4000) default ""; declare tabela char(50) default SUBSTRING_INDEX(field,'.',1); declare registro char(50) default SUBSTRING_INDEX(field,'.',2); declare varId varchar(100) default ""; declare final int default 0; declare cur1 cursor for select registro from tabela tab order by registro DESC; declare continue handler for not found set final = 1; open cur1; get_main: loop fetch cur1 into varId; if final = 1 then leave get_main; end if; set lista = CONCAT(varId,";",lista); end loop; close cur1; return lista; END o problema é que as variáveis registro e tabela não retornam o seu verdadeiro valor, ao executar: select registro from tabela tab order by registro DESC; a função procurar pela tabela e não o seu real valor passado pelo parâmetro. Como posso pra select receber o valor do parâmetro ? Desde já agradeço a todos. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites