none
Criação das principais Stored procedures RRS feed

  • Pergunta

  • Pessoal, como seria os passos para criação no banco de dados de Stored Procedures para as funções mais importantes de um sistema e qual a melhor forma de utilizar: Inserção, alteração, exclusão, consulta de ID , consulta com like , consulta de todos os registros.

     

    Agradeço

    sexta-feira, 21 de setembro de 2012 17:52

Respostas

  • Itasouza,

    Como sua pergunta é bem genérica, aconselho uma boa leitura para entender mais sobre os conceitos e quando deve ou não usar procedures.

    Por isso, seguem algumas referências:

    1) http://msdn.microsoft.com/pt-br/library/aa258259(v=sql.80).aspx

    2) http://www.devmedia.com.br/introducao-as-stored-procedure-com-sql-server-2000-2005/2213

    3) http://dominatudo.blogspot.com.br/2012/08/boas-praticas-ao-escrever-uma-procedure.html

    4) http://imasters.com.br/artigo/223/sql-server/criacao-e-uso-de-stored-procedures


    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.

    sexta-feira, 21 de setembro de 2012 18:00
    Moderador
  • Agradeço a ajuda, com o artigo conseguir montar estas procedure de exemplo mais faltou alteração, exclusão e consulta com like ou seja passando um parametro, outra coisa que seria interessante seria criar procedures que pudesse ser usado por varias tabelas ex:

     

    --procedure para consulta de ID Generico

    CREATE PROCEDURE ConsultaID

       @Nomecampo int,

       @NomeTabela char(20)

    AS

    BEGIN

        select MAX(@NomeCampo) from @NomeTabela

    END

     

    Erro:

    Msg 1087, Level 16, State 1, Procedure ConsultaID, Line 7

    Must declare the table variable "@NomeTabela".

     

    ...........................................

    Se poder ajuda, estou precisando estudar isso .


     

    -- procedure para inserção

     CREATE PROCEDURE InsereGrupo

       @codigogrupo char(3),

       @decricao varchar(255),

       @status char(1),

       @marca char(1),

       @data_inc datetime

     AS

       if @decricao <> '' and @codigogrupo <> 0

         begin

              INSERT INTO TB_GRUPO (codigogrupo, decricao, status, marca, data_inc )

                          VALUES(@codigogrupo, @decricao,@status, @marca, @data_inc)

             --mensagem

            print 'Cadastro efetuado com sucesso'

          end

           else

            --mensagem de erro

            print 'Os valores devem ser corretamente preenchidos'

           

    go

     

    --procedure para consulta de ID

    CREATE PROCEDURE ConsultaIDgrupo

    AS

    BEGIN

        select MAX(controlegrupo) from tb_grupo

    END

     

     

    --usando a procedure Insere

    use BancoSistema

      go

     

      exec InsereGrupo

       @codigogrupo = 25,

       @decricao = 'GRUPO 25',

       @status = 'S',

       @marca =  'N',

       @data_inc = '2011-10-07'

     go

     

     

     --usando a procedure consulta ID

     use BancoSistema

      go

       exec ConsultaIDgrupo

      go

     

     

    • Marcado como Resposta Marcos SJ terça-feira, 27 de outubro de 2015 12:00
    sexta-feira, 21 de setembro de 2012 20:08

Todas as Respostas

  • Itasouza,

    Como sua pergunta é bem genérica, aconselho uma boa leitura para entender mais sobre os conceitos e quando deve ou não usar procedures.

    Por isso, seguem algumas referências:

    1) http://msdn.microsoft.com/pt-br/library/aa258259(v=sql.80).aspx

    2) http://www.devmedia.com.br/introducao-as-stored-procedure-com-sql-server-2000-2005/2213

    3) http://dominatudo.blogspot.com.br/2012/08/boas-praticas-ao-escrever-uma-procedure.html

    4) http://imasters.com.br/artigo/223/sql-server/criacao-e-uso-de-stored-procedures


    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.

    sexta-feira, 21 de setembro de 2012 18:00
    Moderador
  • Agradeço a ajuda, com o artigo conseguir montar estas procedure de exemplo mais faltou alteração, exclusão e consulta com like ou seja passando um parametro, outra coisa que seria interessante seria criar procedures que pudesse ser usado por varias tabelas ex:

     

    --procedure para consulta de ID Generico

    CREATE PROCEDURE ConsultaID

       @Nomecampo int,

       @NomeTabela char(20)

    AS

    BEGIN

        select MAX(@NomeCampo) from @NomeTabela

    END

     

    Erro:

    Msg 1087, Level 16, State 1, Procedure ConsultaID, Line 7

    Must declare the table variable "@NomeTabela".

     

    ...........................................

    Se poder ajuda, estou precisando estudar isso .


     

    -- procedure para inserção

     CREATE PROCEDURE InsereGrupo

       @codigogrupo char(3),

       @decricao varchar(255),

       @status char(1),

       @marca char(1),

       @data_inc datetime

     AS

       if @decricao <> '' and @codigogrupo <> 0

         begin

              INSERT INTO TB_GRUPO (codigogrupo, decricao, status, marca, data_inc )

                          VALUES(@codigogrupo, @decricao,@status, @marca, @data_inc)

             --mensagem

            print 'Cadastro efetuado com sucesso'

          end

           else

            --mensagem de erro

            print 'Os valores devem ser corretamente preenchidos'

           

    go

     

    --procedure para consulta de ID

    CREATE PROCEDURE ConsultaIDgrupo

    AS

    BEGIN

        select MAX(controlegrupo) from tb_grupo

    END

     

     

    --usando a procedure Insere

    use BancoSistema

      go

     

      exec InsereGrupo

       @codigogrupo = 25,

       @decricao = 'GRUPO 25',

       @status = 'S',

       @marca =  'N',

       @data_inc = '2011-10-07'

     go

     

     

     --usando a procedure consulta ID

     use BancoSistema

      go

       exec ConsultaIDgrupo

      go

     

     

    • Marcado como Resposta Marcos SJ terça-feira, 27 de outubro de 2015 12:00
    sexta-feira, 21 de setembro de 2012 20:08