Stored Procedures and Triggers

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

1 Favorite

Stored Procedures and Triggers - Presentation Transcript

  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. SQL SERVER - Stored Procedure
    Quais as vantagens do trabalho com Procedures?
    • Separação dos códigos SQL da Linguagem de programação
    • 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
  27. SQL SERVER - Stored Procedure
    Perguntas ?
  28. 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:
    • Criar validações que envolvam pesquisas em mais de uma tabela;
    • 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.
  29. SQL SERVER - Trigger
    Triggers - Before e After:
    • Os gatilhos BEFORE disparam antes das modificações da instrução serem aplicadas, e antes de qualquer restrição ser aplicada.
    • 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.
  30. SQL SERVER - Trigger
    Quando o gatilho vai ser disparado?
    O Trigger é disparado por um dos seguintes eventos no banco de dados:
    • INSERT;
    • UPDATE;
    • DELETE.
  31. SQL SERVER - Trigger
    Itens a definir na criação de uma Trigger?
    • O nome;
    • 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.
  32. SQL SERVER - Trigger
    Limitações na sua utilização:
    • Não é possível criar um Trigger para uma visão;
    • O resultado da execução de um Trigger é retornado para a aplicação que o chamou;
    • 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.
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. SQL SERVER - Trigger
    Criação de Triggers com a turma:
    /* #6 Exemplo de TRIGGER - Excluir uma TRIGGER */
    DROP TRIGGER TR_AlertaInsert
  39. SQL SERVER
    Dúvidas ?
  40. SQL SERVER
    Componentes:
    Durval Nóvoa
    Fagner Lima
    Flávio Matos
    Luana Rebouças
    Venceslau Neto
SlideShare Zeitgeist 2009

+ flaviognmflaviognm Nominate

custom

502 views, 1 favs, 0 embeds more stats

Apresentação sobre as Stored Procedures e Trigger more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 502
    • 502 on SlideShare
    • 0 from embeds
  • Comments 1
  • Favorites 1
  • Downloads 0
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories