none
Ponto e Vírgula RRS feed

  • Pergunta

  • Pessoal, gostaria de saber para que serve o ; no final de cada instrução SQL? Sendo que algumas vezes eu não coloco e funciona do mesmo jeito.

    select * from table;
    

    quinta-feira, 26 de maio de 2011 14:37

Respostas

  • Bom Dia,

    O uso do ponto e vírgula é uma recomendação do padrão ANSI. Em alguns bancos como o DB2, ele é simplesmente obrigatório. Em outros bancos como o SQL Server ele é opcional em 99% dos casos. Em outros casos você simplesmente não terá como escapar dele.

    Algumas instruções como SEND e RECEIVE do Service Broker exigem o uso de ponto e vírgula prévio. Outras instruções como o MERGE exigem ponto e vírgula ao final. E outras com as CTEs recomenda-se o ponto e vírgula, pois, em algumas situações podem dar problema se o ponto e vírgula não for contemplado.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quinta-feira, 26 de maio de 2011 14:43
    • Marcado como Resposta Eder Costa segunda-feira, 30 de maio de 2011 18:53
    quinta-feira, 26 de maio de 2011 14:43
  • Fernando,

     

    Alem da resposta do Gustavo, o ; indica o termino de uma instrução, por exemplo, utilizando-se o SQLPLUS com Oracle, enquanto voce não colocar o ; voce não terminara de editar seu texto.


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Sugerido como Resposta Gustavo Maia Aguiar quinta-feira, 26 de maio de 2011 15:14
    • Marcado como Resposta Eder Costa segunda-feira, 30 de maio de 2011 18:53
    quinta-feira, 26 de maio de 2011 14:51
    Moderador

Todas as Respostas

  • Bom Dia,

    O uso do ponto e vírgula é uma recomendação do padrão ANSI. Em alguns bancos como o DB2, ele é simplesmente obrigatório. Em outros bancos como o SQL Server ele é opcional em 99% dos casos. Em outros casos você simplesmente não terá como escapar dele.

    Algumas instruções como SEND e RECEIVE do Service Broker exigem o uso de ponto e vírgula prévio. Outras instruções como o MERGE exigem ponto e vírgula ao final. E outras com as CTEs recomenda-se o ponto e vírgula, pois, em algumas situações podem dar problema se o ponto e vírgula não for contemplado.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quinta-feira, 26 de maio de 2011 14:43
    • Marcado como Resposta Eder Costa segunda-feira, 30 de maio de 2011 18:53
    quinta-feira, 26 de maio de 2011 14:43
  • Fernando,

     

    Alem da resposta do Gustavo, o ; indica o termino de uma instrução, por exemplo, utilizando-se o SQLPLUS com Oracle, enquanto voce não colocar o ; voce não terminara de editar seu texto.


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    • Sugerido como Resposta Gustavo Maia Aguiar quinta-feira, 26 de maio de 2011 15:14
    • Marcado como Resposta Eder Costa segunda-feira, 30 de maio de 2011 18:53
    quinta-feira, 26 de maio de 2011 14:51
    Moderador
  • Boa Tarde,

    Sim, o Fabrizzio está correto. Falei, falei, mas esqueci o básico :)

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 26 de maio de 2011 15:14