levito 0 Denunciar post Postado Fevereiro 3, 2011 Bom dia a todos, na empresa onde trabalho estamos convertendo nosso banco de dados de MySQL para Oracle, estamos bem avançado já na conversão, porém, nos surgiu uma dúvida sobre o uso de LIMIT e ORDER BY segue exemplo em ambos bancos: MySQL: Utilizando ORDER BY e LIMIT, o MySQL Primeiramente faz o ORDER BY para depois usar o LIMIT. Oracle: No oracle é diferente, ele primeiro faz o LIMIT(rownum) para depois utilizar o ORDER BY, ou seja, só irei simular o mesmo resultado do MySQL se utilizar um SUB-SELECT. Ok... agora a pergunta mesmo, existe como criar um função no Oracle mas para ser utilizada como uma função primitiva? Função primitiva que eu digo seria o SELECT, eu queria criar de alguma forma o LIMIT para ser utilizado no SELECT, simulando o LIMIT do mysql. Podendo utilizar no oracle da seguinte forma: SELECT * FROM PESSOAS LIMIT 10. onde o LIMIT presente na query seria a função que eu criei mas sem utilizar o LIMIT() com parenteses. Não sei se consegui me expressar bem, qualquer dúvida sobre a minha dúvida (hehe) estou a disposição, e Obrigado por em quanto. Compartilhar este post Link para o post Compartilhar em outros sites
ViniciusPapa 0 Denunciar post Postado Fevereiro 3, 2011 Levito, Me desculpe não deu para compreender realmente, esta função LIMIT do MySQL, ele limita a quantidade de linhas de retorno é isso? Att, Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 3, 2011 Use o rownum. veja também. Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Fevereiro 3, 2011 Levito, Me desculpe não deu para compreender realmente, esta função LIMIT do MySQL, ele limita a quantidade de linhas de retorno é isso? Att, ViniciusPapa, O qué eu preciso é simular a funão LIMIT do MySQL no ORACLE, mas eu queria criar essa função, e não usar o ROWNUM, ou seja, eu quero que este SQL "SELECT * FROM PESSOAS ORDER BY NM_PESSOA LIMIT 10" funcione tanto em MySQL quanto para Oracle. Att, Use o rownum. veja também. Motta, estou ciente da função rownum, mas não teria como simular o LIMIT do MySQL no Oracle? ou seja, este mesmo selct "SELECT * FROM PESSOAS LIMIT 10" eu usaria no MySQL e no ORACLE, o que precisaria fazer é a função LIMIT no Oracle, porem ela deve ser usada da mesma forma que é usada no MySQL "SELECT * FROM PESSOAS LIMIT 10" Compartilhar este post Link para o post Compartilhar em outros sites
ViniciusPapa 0 Denunciar post Postado Fevereiro 3, 2011 creio que somente com o rownum mesmo. Att, Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Fevereiro 3, 2011 creio que somente com o rownum mesmo. Att, Ok, Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 3, 2011 Reclamações da falta do LIMIT no Oracle fale com Mr. Larry Ellison :) Realmente facilitaria muito a vida de quem trabalha com Oracle. Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Fevereiro 3, 2011 Reclamações da falta do LIMIT no Oracle fale com Mr. Larry Ellison :) Realmente facilitaria muito a vida de quem trabalha com Oracle. Hehehe, Obrigado motta. Sim facilitaria e MUITO a vida! Origado pelas respostas. T+ Compartilhar este post Link para o post Compartilhar em outros sites