Qual a diferença  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Galera qual a diferença de function para store procedure em banco de dados ?

Nunca desista antes de conseguir.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Depende do seu banco. Em alguns bancos, as functions podem ser usadas em queries, enquanto que as procedures só podem ser usadas por outras procedures.


[WWW]
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Cara eu achava que a diferença era que procedure não retorna valor e function sim, eu tava viajando aqui.
No caso do SqlServer e Oracle o conceito é esse mesmo que você falow ?

Nunca desista antes de conseguir.
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Puppets wrote:Cara eu achava que a diferença era que procedure não retorna valor e function sim, eu tava viajando aqui.
No caso do SqlServer e Oracle o conceito é esse mesmo que você falow ?

Mas vc está certo. Function retorna valor e procedure não.

"Quanto mais aprendo mais tenho consciência que nada sei."
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

djemacao wrote:Mas vc está certo. Function retorna valor e procedure não.

No caso de banco de dados, não. Em vários bancos de dados, tanto existem procedures que retornam valores quanto funções que não retornam.
Mas em algumas linguagens de programação ( como Pascal ), esse conceito é verdade.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

tnaires wrote:
djemacao wrote:Mas vc está certo. Function retorna valor e procedure não.

No caso de banco de dados, não. Em vários bancos de dados, tanto existem procedures que retornam valores quanto funções que não retornam.
Mas em algumas linguagens de programação ( como Pascal ), esse conceito é verdade.

A idéia seria essa em banco de dados, porém, cada um implementa como quer. Mas functions são mais complexas e podem executar muitas coisas e retornar seus resultados.Isso é obrigatório. Procedures não possuem retornos e sim saídas, o que é opcional.
As procedures se comportam de forma diferente, quando possuem entrada e saída. Mas elas realmente não retornam, como functions, e sim possuem saídas. Não conheço todos os bancos de dados, porém, a regra é básica, podemos usar functions em meio a queries, embebidas na consulta e procedures já não se comportam da mesma forma.
Acho que deu pra explicar melhor agora, não é?

"Quanto mais aprendo mais tenho consciência que nada sei."
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

djemacao wrote:A idéia seria essa em banco de dados, porém, cada um implementa como quer. Mas functions são mais complexas e podem executar muitas coisas e retornar seus resultados.Isso é obrigatório. Procedures não possuem retornos e sim saídas, o que é opcional.
As procedures se comportam de forma diferente, quando possuem entrada e saída. Mas elas realmente não retornam, como functions, e sim possuem saídas. Não conheço todos os bancos de dados, porém, a regra é básica, podemos usar functions em meio a queries, embebidas na consulta e procedures já não se comportam da mesma forma.
Acho que deu pra explicar melhor agora, não é?

Exato. Eu questionei sua afirmação porque no Firebird, por exemplo, procedures são bem parecidas com as functions que conhecemos em outros bancos de dados. Inclusive, é possível efetuar selects diretamente das procedures.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team