Ah, legal, este preparedStatement e aquele método de passagem de parâmetros funcionam muito parecidos com a stored procedure.
Mas no caso de eu já ter minhas stored procedures na base de dados, há algum jeito de executá-las???
cara
por exemplo ,se vc tiver usando SQLServer ,vc monta seu preparedStatement assim
“exec sp_sua_procedure @argumento1 = ?”
se tiver usando oracle
“call sp_sua_procedure”
e por ai vai
Rafael_Steil
“Leandro Rangel Santos”:
cara
por exemplo ,se vc tiver usando SQLServer ,vc monta seu preparedStatement assim
“exec sp_sua_procedure @argumento1 = ?”
se tiver usando oracle
“call sp_sua_procedure”
e por ai vai
Por isso que existe o CallableStatement. Com ele voce nao precisa ficar fazendo “tricks” para executar as procedures.
Rafael
F
fabio.patricio
“Rafael Steil”:
“Leandro Rangel Santos”:
cara
por exemplo ,se vc tiver usando SQLServer ,vc monta seu preparedStatement assim
“exec sp_sua_procedure @argumento1 = ?”
se tiver usando oracle
“call sp_sua_procedure”
e por ai vai
Por isso que existe o CallableStatement. Com ele voce nao precisa ficar fazendo “tricks” para executar as procedures.
Rafael
Realmente, se fosse para fazer gambiarras o cara podia rodar a procedure como um SQL normal fazendo assim.
BEGINtua_procedureEND;
Mas para não vermos essas coisas horriveis é que existe o CallableStatement como disse o Rafael.
]['s
C
cezarsg
Noosa, desculpa Rafael.
Não consegui pesquisar naquele momento.
Mas acabei de verificar no Google. CallableStatement realmente é muito mais vantajoso pq eu posso concentrar minhas stored procedures na base, e simplificar minha aplicação. Não precisarei gravar minhas sp’s em properties.
Desculpe cara, mas stored procedures fedem
Meses depois desta exelente discussão aqui: http://www.guj.com.br/forum/viewtopic.php?t=8443&highlight=stored+procedure
Eu senti na pele. Não dá cara … torna um projeto, que pode até ter bases boas, num amontoado de porcarias que ninguém tem muita certeza do que fazem, que ninguém mais pode mudar o nome de uma tabela, onde ninguém consegue fazer “aquela função lá” fazer um order by decrescente e não crescente.
Sério, não faça isso.
F
fabio.patricio
“LIPE”:
Desculpe cara, mas stored procedures fedem
Meses depois desta exelente discussão aqui: http://www.guj.com.br/forum/viewtopic.php?t=8443&highlight=stored+procedure
Eu senti na pele. Não dá cara … torna um projeto, que pode até ter bases boas, num amontoado de porcarias que ninguém tem muita certeza do que fazem, que ninguém mais pode mudar o nome de uma tabela, onde ninguém consegue fazer “aquela função lá” fazer um order by decrescente e não crescente.
Sério, não faça isso.
Olha eu fui um dos que neste post meio que “defenderam” o uso de procedures. Meses depois, não gosto mais hahahahaha. Continuo achando que em um caso muito especifico, se for para melhorar muito a performance até vai, mas se eu puder hoje nem penso em fazer procedures.
Não quiz comentar isso no post do cara pq sei que vai dar discução, e da boa denovo
]['s
_fs
começa a carregar as armas
:mrgreen:
cara, depois de uns testes que eu fiz aqui no meu pczinho … e java demorando só 1.3 segundos a mais do que stored procedures para fazer um processamento ferrado … sem chances
“onde que faz isso mesmo?”
“ah, é naquela lá que o nome começa com sp…”
*começa a procurar na lista com mais de 50 sps da um tiro na cabeça vai para o céu descobre que lá não tem danoninho ressucita deleta o sqlserver sorri debilmente enquanto colegas de trabalho se jogam pela janela
… alucinando por falta de sono
:mrgreen:
F
fabio.patricio
“LIPE”:
começa a carregar as armas
:mrgreen:
cara, depois de uns testes que eu fiz aqui no meu pczinho … e java demorando só 1.3 segundos a mais do que stored procedures para fazer um processamento ferrado … sem chances
“onde que faz isso mesmo?”
“ah, é naquela lá que o nome começa com sp…”
*começa a procurar na lista com mais de 50 sps da um tiro na cabeça vai para o céu descobre que lá não tem danoninho ressucita deleta o sqlserver sorri debilmente enquanto colegas de trabalho se jogam pela janela
… alucinando por falta de sono
:mrgreen:
Situação 2:
Alterei os parametros da sp… Onde que ela é chamada mesmo?
Cara do outro programador após saber isso
Passo por isso todo dia, posso falar com alguma autoridade é f*****
]['s
Rafael_Steil
Isso em termos eh culpa “sua” tambem. Se a procedure estivesse definida em um lugar em comum, como um .properties, voce acharia facilmente as chamadas dela.
Esse tipo de problema que voce descreveu vai ocrrer em qualquer caso, seja alterando um metod, alterando a estrutura de uma tabela e tudo mais. E depois, ha lugares ( aka empresas para as quais voce desenvolve algum sistema )onde nao ha escolha… eh usar procedure ou nao fazer o sistema ( certo ou errado, ha empresas com regras assim, e o que voce pode fazer eh aceitar )
Rafael
_fs
Mas e se o sistema já estava pronto?
Antes de abrirmos a empresa um dos sócios já tinha desenvolvido um software (muito bom por sinal), mas tudo em asp + stored procedures. Só ele no planeta é capaz de dar manutenção naquilo … ou alguém só olhando código por 6 meses
Por mais organizado que seja, não dá cara. Não tem comparação com a organização de projetos possível com OO + uma boa ide + boas práticas de programação.
Rafael_Steil
Qualquer projeto, onde uma unica pessoa ( ou um grupo mto seleto ) desenvolveu tudo, vai ser complicado para entender, se voce cair de para-quedas. Ainda mais em sistemas grandes.
Pode fazer tudo em prevalencia se quiser, e ainda assim vai existir complexidade. Jogar toda a “culpa” do tempo de aprendizado unicamente por existir stored procedures nao faz sentido.
Rafael
F
fabio.patricio
Bom este é meu caso quando cheguei o sistema ja existia a tempo, e eu não tenho como alterar isso, o maximo que eu tento é manter documentado onde eu uso o que.
Para piorar a empresa quer que fique em SP mesmo, ou seja, eu não tenho muito que fazer.
Sobre o problema em si, concordo que de para desenvolver algo até organizado colocando em SP’s, mas acho que não vale a pena todo esforço.
Ps.: Minha opinião já foi muito diferente disso…as pessoas mudam
]['s
_fs
Rafael, eu entendo perfeitamente o seu ponto de vista e, em outra situação provavelmente concordaria com você.
Mas cara … você não tem noção. Uma lista gigante com sps com até 300 linhas de código … não dá cara.
O enterprise manager (sql server) não dá suporte nenhum às sps … não tem debug, não tem explorer, não dá para separar em pastinhas, não tem “find and replace all” … não tem merda nenhuma só uma checagem normal de sintaxe. Horroroso.
Rafael_Steil
Bom… eu to tendo que manter, sozinho, um sitema onde ha 50 mil linhas de codigo pl/sql. Ha procedures com 2 mil linhas ( melhor dizendo: o package inteiro tem 2 mil… as procedures estao quebradas por responsabilidae ). Entao eu tenho um pouco de nocao do problema
Em relacao aos defeitos do enterprise manager, nao ha alguma outra ferramenta externa para mexer com isso? pq, se eu fosse depender das tools do oracle, estaria no limbo :mrgreen:
Nao sou a favor de ter essa monstruosidade em sp, mas…
Rafael
F
fabio.patricio
“Rafael Steil”:
Bom… eu to tendo que manter, sozinho, um sitema onde ha 50 mil linhas de codigo pl/sql. Ha procedures com 2 mil linhas ( melhor dizendo: o package inteiro tem 2 mil… as procedures estao quebradas por responsabilidae ). Entao eu tenho um pouco de nocao do problema
Em relacao aos defeitos do enterprise manager, nao ha alguma outra ferramenta externa para mexer com isso? pq, se eu fosse depender das tools do oracle, estaria no limbo :mrgreen:
Nao sou a favor de ter essa monstruosidade em sp, mas…
Rafael
Que beleza, não sou o ultimo dos moicanos
Cara aqui tenhos umas 10 packages em média 7 mil linhas cada…claro tudo dividido em procedures e functions, mas é uma droga para dar manutenção, ainda mais quando vc tem um sistema feito com essas ferramentas RAD que chamam as SP de trocentos lugares.
Sobre as ferramentas, se formos comparar prefiro ficar com o Notepad mesmo, ou um Editplus da vida, mais o SQL Plus