SlideShare a Scribd company logo
1 of 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;

More Related Content

What's hot

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
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
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxAlmir Neto
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
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
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetossoncino
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 

What's hot (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQLCurso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQL
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
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
 
Sistema acadêmico
Sistema acadêmicoSistema acadêmico
Sistema acadêmico
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Html
HtmlHtml
Html
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
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
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 

Viewers also liked

Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
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
 

Viewers also liked (13)

Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
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
 

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

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