SlideShare una empresa de 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;

Más contenido relacionado

La actualidad más candente

Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13diogoa21
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
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
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Historia dos sistemas operacionais
Historia dos sistemas operacionaisHistoria dos sistemas operacionais
Historia dos sistemas operacionaisDw Dicas
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 

La actualidad más candente (20)

Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
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
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Historia dos sistemas operacionais
Historia dos sistemas operacionaisHistoria dos sistemas operacionais
Historia dos sistemas operacionais
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 

Destacado

SQL Server 2012
SQL Server 2012SQL Server 2012
SQL Server 2012Hcode
 
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
 

Destacado (11)

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
 
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
 

Similar a Stored Procedures and 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
 

Similar a Stored Procedures and 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
 

Stored Procedures and 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