Usuário com melhor resposta
Criação das principais Stored procedures

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
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.brSe 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.- Sugerido como Resposta Junior Galvão - MVPMVP sexta-feira, 21 de setembro de 2012 18:43
- Marcado como Resposta Harley Araujo sexta-feira, 5 de outubro de 2012 14:14
-
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
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.brSe 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.- Sugerido como Resposta Junior Galvão - MVPMVP sexta-feira, 21 de setembro de 2012 18:43
- Marcado como Resposta Harley Araujo sexta-feira, 5 de outubro de 2012 14:14
-
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