none
proc RRS feed

  • Pergunta

  • ola

    qual é a vantagem de usar procedimentos no sql server?

    a unica vantagem que vejo é o insert into ser feito do lado do sql server e não da aplicação que fornece os dados, neste caso é um app em delphi

    Procedimento

    create proc pro_usuarios
    @tipo char(1),
    @id int,
    @nome varchar (50),
    @idade int
    as
    begin
    if @tipo = 'I' 
    insert into usuarios values (@nome,@idade)
    else
    if @tipo = 'A'
    update usuarios set nome = @nome, idade = @idade where id = @id
    else
    delete usuarios where id = @id
    end
    sexta-feira, 14 de setembro de 2012 22:18

Todas as Respostas

  •     Boa noite Jonas, eu particularmente gosto muito de usar SPs nos processos de onde trabalho, listo algumas das vantagens:

    Toda storedprocedure é pre-compilada pelo sql server, ou seja, o tempo de resposta é melhor.

    Quando alguma mudanças tem que ser feita, voce não precisa abrir o codigo fonte da aplicação, basta fazer um update na procedure.

    Se toda sua regra estiver no banco, tanto faz a linguagem que vai usar a procedure não vai mudar independente da linguagem do front end.

    Diminui muito o código no sistema, a manutenção é melhor, mais rapido e mais seguro, sem contar que reduz significativamente o trafego de rede em momentos de necessidade de navegação em registros. (tipo cursores).

    Deve ter muito mais beneficios, mas cada um gosta de trabalhar de um jeito, eu sempre acostumei com as procs.


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    sexta-feira, 14 de setembro de 2012 22:37
  • Alexandre estou ainda mais convencido que o processos são uma boa opção.

    Todas as que numerou são do meu agrado! neste momento estou a passar o progrma para delphi e se tivesse tudo em proc serei muito mais simples .Pois todas as query estariam do lado do SGBD e no delphi só tinha que fazer a programação do programa propriamente dito.

    A nível de velocidade acredito que melhora em muito, pois o que o programa faz e pedir ao SGBD para executar um determinado procedimento e o programa só que fazer nova consulta ao Banco de dados. Cada um a fazer a sua função, o SGBD a gerir dados e a executar query´s e o programa a mostrar os dados.

    Me explica uma coisa, o que quer dizer com isto? " gosto muito de usar SPs nos processos" não entendi...

    obrigado


    • Editado Jonas.8 sexta-feira, 14 de setembro de 2012 23:32
    sexta-feira, 14 de setembro de 2012 23:30
  • Outra vantagem é a possibilidade de diminuir ou até mesmo anular a possibilidade de SQL Injection, pois você consegue validar as entradas realizadas pelos usuários.

    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    domingo, 16 de setembro de 2012 00:26
  • Roberson não entendi.

    O que e isso de SQL injection?

    domingo, 16 de setembro de 2012 01:18
  • Jonas,

    resumindo, é a possibilidade de o usuário inserir um código (num campo texto, por exemplo) que pode influenciar negativamente em alguma coisa no banco ou até mesmo no servidor.

    O usuário, mal intencionado, pode digitar numa caixa de nome (por exemplo) um comando qualquer, na tentativa de causar algum dano ao banco/servidor.

    Mais:

    1) http://www.unixwiz.net/techtips/sql-injection.html

    2) http://evandropaes.wordpress.com/2007/03/26/conheca-tudo-sobre-sql-injection/


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    segunda-feira, 17 de setembro de 2012 11:37
  • Jonas, alguns desenvolvedores gostam de deixar o codigo na aplicação, e quando ha necessidade de mudança tem que abrir a aplicação e depois fazer o rebuild da mesma, por isso disse que gosto de usar SPs que bastaria somente alterar a SP sem ter que alterar a aplicação.

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    segunda-feira, 17 de setembro de 2012 12:48