SlideShare uma empresa Scribd logo
1 de 40
..:: SQL SERVER ::.. Consulta e Programação de Banco de Dados Stored Procedures& Triggers FTE Gestão de TI - 2009.2
SQL SERVER - Stored Procedure O que é? Os procedimentos armazenados são uma coleção de comandos SQL, compilados e armazenados no Banco de Dados. Geralmente eles representam tarefas repetitivas e aceitam parâmetros de entrada e saída. Eles podem retornar uma coleção de dados e sempre retorna um valor indicando sua execução ou erro. Os procedimentos armazenados melhoram o tráfego na rede, melhora a performance das aplicações, criam mecanismos de segurança e melhoram a manutenção dos códigos SQLe das aplicações que acessam o banco de dados.
SQL SERVER - Stored Procedure Modelo de Acesso ao Banco de Dados sem utilização de Stored Procedures
SQL SERVER - Stored Procedure Modelo de Acesso ao Banco de Dados utilizando Stored Procedures
SQL SERVER - Stored Procedure Ao executar a procedure pela 1ª vez ela é compilada e a cada execução seus resultados são colocados em cache, o cache é semelhante a uma memória que guarda as últimas operações do BD, caso a procedure seja executada novamente ela pega o resultado do cache diminuindo o esforço do BD e aumentando a velocidade de acesso.
SQL SERVER - Stored Procedure Onde localizar asprocedures no Management Studio?
SQL SERVER - Stored Procedure Como criar uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis pela criação e executá-los
SQL SERVER - Stored Procedure Como criar uma SP? Resultado:
SQL SERVER - Stored Procedure Como alterar uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis pela alteração e executá-los
SQL SERVER - Stored Procedure Como alterar uma SP? Resultado da alteração:
SQL SERVER - Stored Procedure Como atalho você pode clicar com o botão direito no nome da procedure e selecionar a opção “Modificar” Será aberta uma janela com os comandos da procedure, em seguida, basta alterar e executar.
SQL SERVER - Stored Procedure Procedures com Parâmetros: A procedure é criada normalmente só que após o seu nome você especifica quais os parâmetros (@parâmetro) e o tipo do mesmo.
SQL SERVER - Stored Procedure Procedures com Parâmetros: Resultado da execução:
SQL SERVER - Stored Procedure Como deletar as procedures criadas? Basta clicar com o botão direito na procedure e selecionar -> Excluir
SQL SERVER - Stored Procedure Como excluir uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis para exclusão de dados na tabela e executá-los:
SQL SERVER - Stored Procedure Como executar as procedures ?
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #1 Exemplo de SP - Select Simples */ CREATE PROCEDURE SP_tbEmpregado AS BEGIN SELECT * FROM empregado END EXEC SP_tbEmpregado
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #2 Exemplo de SP - Select + ORDER BY */ CREATE PROCEDURE SP_ListarEmpregados AS BEGIN SELECT * FROM empregado ORDER BY nome DESC END EXEC SP_ListarEmpregados
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #2 Alterar Procedure - Select + ORDER BY */ ALTER PROCEDURE SP_ListarEmpregados AS BEGIN SELECT * FROM empregado ORDER BY cpf ASC END EXEC SP_ListarEmpregados
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #3 Exemplo de SP - Select com parâmetros */ CREATE PROCEDURE SP_NomeDepartamento @numero varchar(40) AS BEGIN SELECT nome FROM departamento WHERE numero=@numero END EXEC SP_NomeDepartamento 3
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #4 Exemplo de SP - Select múltiplos parâmetros */ CREATE PROCEDURE SP_tbProjeto @numero INT, @depart VARCHAR(30) AS BEGIN SELECT * FROM projeto WHERE numero=@numero AND depart=@depart END EXEC SP_tbProjeto 1, 2
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #5 Exemplo de SP - Exemplo Insert múltiplos parâmetros */ CREATE PROCEDURE SP_Add_Empregado @cpf CHAR(11), @nome VARCHAR(40), @salario FLOAT, @dt_nasc DATETIME, @alocacao INT, @supervisor CHAR(11) AS BEGIN INSERT INTO empregado (cpf, nome, salario, dt_nasc, alocacao, supervisor) VALUES (@cpf, @nome, @salario, @dt_nasc, @alocacao, @supervisor) END EXEC SP_Add_Empregado7, 'Lucas Ferreira Costa', 15000, '07/01/1989', 2, null SELECT *  FROM empregado
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #6 Exemplo de SP - Exemplo Updatemúltiplos parâmetros */ CREATE PROCEDURE SP_AtualizarDepartamento @numero CHAR(11), @nome VARCHAR(40), @gerente CHAR(11), @dt_inicio_ger DATETIME AS BEGIN UPDATE departamento SET nome=@nome, gerente=@gerente, dt_inicio_ger=@dt_inicio_ger WHERE numero=@numero END EXEC SP_AtualizarDepartamento 1, 'Diretoria', null, null SELECT *  FROM departamento
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #7 Exemplo de SP - Exemplo Delete com parâmetros */ CREATE PROCEDURE SP_DelEmpregado @cpf CHAR(11) AS BEGIN DELETE empregado WHERE cpf=@cpf END EXEC SP_DelEmpregado 7
SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #8 Exemplo de SP - Procedure com parâmetro de saída */ CREATE PROCEDURE SP_SomaSalario (@SOMA FLOAT OUTPUT) AS BEGIN SELECT @Soma=sum(salario) FROM empregado END DECLARE @Salario_Total FLOAT EXEC SP_SomaSalario @Salario_Total OUTPUT PRINT 'Salário Total: R$'+(CAST(@Salario_Total AS VARCHAR(20))) /* Fim - StoredProcedures com a Turma. */
SQL SERVER - Stored Procedure Quais as vantagens do trabalho com Procedures? ,[object Object]
 Criação de um repositório unificado dos códigos SQL
 Aumento de performance das aplicações
 Maior segurança
 Diminuição do tráfego da rede,[object Object]
SQL SERVER - Trigger O que é? A Trigger(ou gatilho) é um objeto que é automaticamente executado assim que efetuado um INSERT, DELETE ou UPDATE na tabela. Entre as vantagens da utilização da Trigger, podemos destacar: ,[object Object]
 Inserir o conteúdo de uma coluna a partir do conteúdo de outras colunas;
 Alterar outras tabelas a partir da inclusão ou alteração de dados da tabela que estamos utilizando.,[object Object]
 Os gatilhos AFTER disparam após todas as restrições terem sido satisfeitas, e após todas as alterações terem sido aplicadas à tabela de destino.,[object Object]
UPDATE;
DELETE.,[object Object]
 A Tabela para o qual o Trigger irá ser criado;
 Quando o Trigger deverá ser disparado;
 Os comandos que determinam qual ação o Trigger deverá executar.,[object Object]
O resultado da execução de um Trigger é retornado para a aplicação que o chamou;

Mais conteúdo relacionado

Mais procurados

Aula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoAula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoVinícius de Paula
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTMLLeonardo Soares
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediárioaprcds
 

Mais procurados (20)

Aula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoAula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de Projeto
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
MVC
MVCMVC
MVC
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTML
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediário
 

Destaque

SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012Hcode
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracleluisguil
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 
Ingles tecnico i para informática 2013 en oficio
Ingles tecnico i para informática 2013  en oficioIngles tecnico i para informática 2013  en oficio
Ingles tecnico i para informática 2013 en oficioParalafakyou Mens
 
Glossário de inglês técnico para informática
Glossário de inglês técnico para informáticaGlossário de inglês técnico para informática
Glossário de inglês técnico para informáticaesb2174
 
Inglês.com.textos para informática
Inglês.com.textos para informáticaInglês.com.textos para informática
Inglês.com.textos para informáticaJeziel L. C.
 
Proposta de Consultoria
Proposta de ConsultoriaProposta de Consultoria
Proposta de ConsultoriaTR Consulting
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 

Destaque (12)

Triggers no SQL Server
Triggers no SQL ServerTriggers no SQL Server
Triggers no SQL Server
 
SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 
Ingles tecnico i para informática 2013 en oficio
Ingles tecnico i para informática 2013  en oficioIngles tecnico i para informática 2013  en oficio
Ingles tecnico i para informática 2013 en oficio
 
Glossário de inglês técnico para informática
Glossário de inglês técnico para informáticaGlossário de inglês técnico para informática
Glossário de inglês técnico para informática
 
Apostila de-ingles-tecnico-informatica-2012
Apostila de-ingles-tecnico-informatica-2012Apostila de-ingles-tecnico-informatica-2012
Apostila de-ingles-tecnico-informatica-2012
 
Inglês.com.textos para informática
Inglês.com.textos para informáticaInglês.com.textos para informática
Inglês.com.textos para informática
 
Proposta de Consultoria
Proposta de ConsultoriaProposta de Consultoria
Proposta de Consultoria
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 

Semelhante a SQL Server Stored Procedures & Triggers

Net Coders Ladies SQL
Net Coders Ladies SQL Net Coders Ladies SQL
Net Coders Ladies SQL Aline Lavorato
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Proceduresalexdutra
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Emiliano Barbosa
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureFernando Roberto Proença
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - EstrategiasIsmael
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL BásicoIgor Alves
 
Apostila de sql oracle (pt br)
Apostila de sql   oracle (pt br)Apostila de sql   oracle (pt br)
Apostila de sql oracle (pt br)Sandro Freitas
 
Apresentação Oracle SGBD
Apresentação Oracle SGBDApresentação Oracle SGBD
Apresentação Oracle SGBDDenis Vieira
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6Wagner Bianchi
 
Modulo-02-Aula-04-certificao-sqlser.pptx
Modulo-02-Aula-04-certificao-sqlser.pptxModulo-02-Aula-04-certificao-sqlser.pptx
Modulo-02-Aula-04-certificao-sqlser.pptxAugustoNicolau2
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java IIIVerônica Veiga
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - SubalgoritmosCarlos Santos
 

Semelhante a SQL Server Stored Procedures & Triggers (20)

Stored procedure
Stored procedureStored procedure
Stored procedure
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Aula1
Aula1Aula1
Aula1
 
Net Coders Ladies SQL
Net Coders Ladies SQL Net Coders Ladies SQL
Net Coders Ladies SQL
 
2832014 curso plsql
2832014 curso plsql2832014 curso plsql
2832014 curso plsql
 
Sql Server Stored Procedures
Sql Server   Stored ProceduresSql Server   Stored Procedures
Sql Server Stored Procedures
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Desenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored ProcedureDesenvolvimento de um CRUD utilizando Stored Procedure
Desenvolvimento de um CRUD utilizando Stored Procedure
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Refactoring Databases - Estrategias
Refactoring Databases - EstrategiasRefactoring Databases - Estrategias
Refactoring Databases - Estrategias
 
Java13
Java13Java13
Java13
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Apostila de sql oracle (pt br)
Apostila de sql   oracle (pt br)Apostila de sql   oracle (pt br)
Apostila de sql oracle (pt br)
 
Python 04
Python 04Python 04
Python 04
 
Apresentação Oracle SGBD
Apresentação Oracle SGBDApresentação Oracle SGBD
Apresentação Oracle SGBD
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6
 
Modulo-02-Aula-04-certificao-sqlser.pptx
Modulo-02-Aula-04-certificao-sqlser.pptxModulo-02-Aula-04-certificao-sqlser.pptx
Modulo-02-Aula-04-certificao-sqlser.pptx
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java III
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 

SQL Server Stored Procedures & Triggers

  • 1. ..:: SQL SERVER ::.. Consulta e Programação de Banco de Dados Stored Procedures& Triggers FTE Gestão de TI - 2009.2
  • 2. SQL SERVER - Stored Procedure O que é? Os procedimentos armazenados são uma coleção de comandos SQL, compilados e armazenados no Banco de Dados. Geralmente eles representam tarefas repetitivas e aceitam parâmetros de entrada e saída. Eles podem retornar uma coleção de dados e sempre retorna um valor indicando sua execução ou erro. Os procedimentos armazenados melhoram o tráfego na rede, melhora a performance das aplicações, criam mecanismos de segurança e melhoram a manutenção dos códigos SQLe das aplicações que acessam o banco de dados.
  • 3. SQL SERVER - Stored Procedure Modelo de Acesso ao Banco de Dados sem utilização de Stored Procedures
  • 4. SQL SERVER - Stored Procedure Modelo de Acesso ao Banco de Dados utilizando Stored Procedures
  • 5. SQL SERVER - Stored Procedure Ao executar a procedure pela 1ª vez ela é compilada e a cada execução seus resultados são colocados em cache, o cache é semelhante a uma memória que guarda as últimas operações do BD, caso a procedure seja executada novamente ela pega o resultado do cache diminuindo o esforço do BD e aumentando a velocidade de acesso.
  • 6. SQL SERVER - Stored Procedure Onde localizar asprocedures no Management Studio?
  • 7. SQL SERVER - Stored Procedure Como criar uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis pela criação e executá-los
  • 8. SQL SERVER - Stored Procedure Como criar uma SP? Resultado:
  • 9. SQL SERVER - Stored Procedure Como alterar uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis pela alteração e executá-los
  • 10. SQL SERVER - Stored Procedure Como alterar uma SP? Resultado da alteração:
  • 11. SQL SERVER - Stored Procedure Como atalho você pode clicar com o botão direito no nome da procedure e selecionar a opção “Modificar” Será aberta uma janela com os comandos da procedure, em seguida, basta alterar e executar.
  • 12. SQL SERVER - Stored Procedure Procedures com Parâmetros: A procedure é criada normalmente só que após o seu nome você especifica quais os parâmetros (@parâmetro) e o tipo do mesmo.
  • 13. SQL SERVER - Stored Procedure Procedures com Parâmetros: Resultado da execução:
  • 14. SQL SERVER - Stored Procedure Como deletar as procedures criadas? Basta clicar com o botão direito na procedure e selecionar -> Excluir
  • 15. SQL SERVER - Stored Procedure Como excluir uma SP? Basta acessar a sua base de dados e criar uma nova query e digitar os comandos responsáveis para exclusão de dados na tabela e executá-los:
  • 16. SQL SERVER - Stored Procedure Como executar as procedures ?
  • 17. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #1 Exemplo de SP - Select Simples */ CREATE PROCEDURE SP_tbEmpregado AS BEGIN SELECT * FROM empregado END EXEC SP_tbEmpregado
  • 18. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #2 Exemplo de SP - Select + ORDER BY */ CREATE PROCEDURE SP_ListarEmpregados AS BEGIN SELECT * FROM empregado ORDER BY nome DESC END EXEC SP_ListarEmpregados
  • 19. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #2 Alterar Procedure - Select + ORDER BY */ ALTER PROCEDURE SP_ListarEmpregados AS BEGIN SELECT * FROM empregado ORDER BY cpf ASC END EXEC SP_ListarEmpregados
  • 20. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #3 Exemplo de SP - Select com parâmetros */ CREATE PROCEDURE SP_NomeDepartamento @numero varchar(40) AS BEGIN SELECT nome FROM departamento WHERE numero=@numero END EXEC SP_NomeDepartamento 3
  • 21. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #4 Exemplo de SP - Select múltiplos parâmetros */ CREATE PROCEDURE SP_tbProjeto @numero INT, @depart VARCHAR(30) AS BEGIN SELECT * FROM projeto WHERE numero=@numero AND depart=@depart END EXEC SP_tbProjeto 1, 2
  • 22. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #5 Exemplo de SP - Exemplo Insert múltiplos parâmetros */ CREATE PROCEDURE SP_Add_Empregado @cpf CHAR(11), @nome VARCHAR(40), @salario FLOAT, @dt_nasc DATETIME, @alocacao INT, @supervisor CHAR(11) AS BEGIN INSERT INTO empregado (cpf, nome, salario, dt_nasc, alocacao, supervisor) VALUES (@cpf, @nome, @salario, @dt_nasc, @alocacao, @supervisor) END EXEC SP_Add_Empregado7, 'Lucas Ferreira Costa', 15000, '07/01/1989', 2, null SELECT * FROM empregado
  • 23. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #6 Exemplo de SP - Exemplo Updatemúltiplos parâmetros */ CREATE PROCEDURE SP_AtualizarDepartamento @numero CHAR(11), @nome VARCHAR(40), @gerente CHAR(11), @dt_inicio_ger DATETIME AS BEGIN UPDATE departamento SET nome=@nome, gerente=@gerente, dt_inicio_ger=@dt_inicio_ger WHERE numero=@numero END EXEC SP_AtualizarDepartamento 1, 'Diretoria', null, null SELECT * FROM departamento
  • 24. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #7 Exemplo de SP - Exemplo Delete com parâmetros */ CREATE PROCEDURE SP_DelEmpregado @cpf CHAR(11) AS BEGIN DELETE empregado WHERE cpf=@cpf END EXEC SP_DelEmpregado 7
  • 25. SQL SERVER - Stored Procedure Criação de Stored Procedure com a turma: /* #8 Exemplo de SP - Procedure com parâmetro de saída */ CREATE PROCEDURE SP_SomaSalario (@SOMA FLOAT OUTPUT) AS BEGIN SELECT @Soma=sum(salario) FROM empregado END DECLARE @Salario_Total FLOAT EXEC SP_SomaSalario @Salario_Total OUTPUT PRINT 'Salário Total: R$'+(CAST(@Salario_Total AS VARCHAR(20))) /* Fim - StoredProcedures com a Turma. */
  • 26.
  • 27. Criação de um repositório unificado dos códigos SQL
  • 28. Aumento de performance das aplicações
  • 30.
  • 31.
  • 32. Inserir o conteúdo de uma coluna a partir do conteúdo de outras colunas;
  • 33.
  • 34.
  • 36.
  • 37. A Tabela para o qual o Trigger irá ser criado;
  • 38. Quando o Trigger deverá ser disparado;
  • 39.
  • 40. O resultado da execução de um Trigger é retornado para a aplicação que o chamou;
  • 41. Não podemos usar em um Trigger os seguintes comandos SQL:ALTER DATABASE , ALTER TRIGGER, ALTER PROCEDURE, ALTER TABLE, CREATE DATABASE, CREATE INDEX, CREATE PROCEDURE, CREATE SCHEMA, CREATE TABLE, DROP DATABASE, DROP TABLE, DROP PROCEDURE, DROP TRIGGER, DROP INDEX, GRANT, RESTORE DATABASE. Entre outras.
  • 42. SQL SERVER - Trigger Criação de Triggers com a turma: /* #1 Exemplo de TRIGGER - Alerta do comando Insert */ CREATE TRIGGER TR_AlertaInsert ON empregado FOR INSERT AS PRINT 'Empregado cadastrado com sucesso!' insertinto empregado values (8,'Felipe Chagas Maciel', 3500, 08/10/1985, 2, '4'); select * from empregado
  • 43. SQL SERVER - Trigger Criação de Triggers com a turma: /* #2 Exemplo de TRIGGER - Utilizando a tabela INSERTED */ CREATE TRIGGER TR_TBinserted ON departamento FOR INSERT AS SELECT 'DADOS A SEREM INSERIDOS NA TABELA DEPARTAMENTO:' SELECT * FROM INSERTED GO INSERT INTO departamento VALUES (5,'Manutenção', Null, Null); SELECT * FROM departamento
  • 44. SQL SERVER - Trigger Criação de Triggers com a turma: /* #3 Exemplo de TRIGGER - Utilizando a tabela DELETED */ CREATE TRIGGER TR_TBdeleted ON departamento FOR DELETE AS SELECT 'DADOS A SEREM APAGADOS DA TABELA DEPARTAMENTO:' SELECT * FROM DELETED GO DELETE FROM departamento WHERE numero=5
  • 45. SQL SERVER - Trigger Criação de Triggers com a turma: /* #4 Exemplo de TRIGGER - Update mostrando o antes e depois da consulta */ CREATE TRIGGER TR_UpdateDepartamento ON departamento FOR UPDATE AS IF(SELECT COUNT(*) FROM DELETED) <> 0 SELECT * FROM DELETED SELECT * FROM INSERTED GO UPDATE departamento SET nome='Financeiro' WHERE nome='Finanças' select * from departamento
  • 46. SQL SERVER - Trigger Criação de Triggers com a turma: /* #5 Exemplo de TRIGGER - Alterar uma TRIGGER */ ALTER TRIGGER TR_AlertaInsert ON empregado FOR INSERT AS PRINT 'Funcionário cadastrado com sucesso!' INSERT INTO empregado VALUES (9,'João Britto Neto', 500, 07/01/1991, 1, '2'); SELECT * FROM empregado
  • 47. SQL SERVER - Trigger Criação de Triggers com a turma: /* #6 Exemplo de TRIGGER - Excluir uma TRIGGER */ DROP TRIGGER TR_AlertaInsert
  • 49. SQL SERVER Componentes: Durval Nóvoa Fagner Lima Flávio Matos Luana Rebouças Venceslau Neto