A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Slide 1 Stored Procedure, Function and Trigger. Slide 2 Objetivos 1.Programando no banco de dados 2.Stored Procedure 3.Function 4.Trigger.

Apresentações semelhantes


Apresentação em tema: "Slide 1 Stored Procedure, Function and Trigger. Slide 2 Objetivos 1.Programando no banco de dados 2.Stored Procedure 3.Function 4.Trigger."— Transcrição da apresentação:

1 Slide 1 Stored Procedure, Function and Trigger

2 Slide 2 Objetivos 1.Programando no banco de dados 2.Stored Procedure 3.Function 4.Trigger

3 Slide 3 1. Programando no banco de dados 1.1 Variáveis 1.2 Controle de fluxo

4 Slide Variáveis Declaração de variáveis: int int Atribuindo valor à variável: = = 100 = 10 Atribuindo valor à no bloco SQL: = price FROM titles WHERE title_id = 'PC2091'

5 Slide Controle de fluxo BEGIN…END IF…ELSE CASE … WHEN RETURN [n] WHILE PRINT

6 Slide BEGIN…END Define os blocos de código (início/fim) Outras linguagens de programação: { … } C#, Java, C: { … } BEGIN … END Pascal, Delphi: BEGIN … END

7 Slide IF…ELSE CondicionalIF Condição Código T-SQL | bloco de código [ELSE Código T-SQL | bloco de código ] Código T-SQL | bloco de código ] Exemplo: IF (SELECT vendasAno FROM livros WHERE livro_id = 'PC1035') > 5000 PRINT Vendas no ano são que R$5000,00 para PC1035.

8 Slide CASE … WHEN CASE input_expression WHEN when_expression THEN result_expression [WHEN when_expression THEN result_expression…n] [ELSE else_result_expression ] END Exemplo: SELECT CASE regra WHEN '30' THEN Pagar 30 dias após a nota final' WHEN '60' THEN ' Pagar 60 dias após a nota final ' WHEN No ato' THEN Pagar quando receber a nota fiscal' ELSE Nenhum' END as RegrasPagamentos FROM vendas Outras linguagens de programação Switch … Case Select … Case C#, Java: Switch … Case ; VB: Select … Case

9 1.2.4 RETURN [n] Pode ser usado para Trigger, Procedure ou Function e returna um valor.

10 Slide WHILE Repete o bloco de código enquanto a condição for verdadeiraWHILE Condição Código SQL | bloco de códico [BREAK] Código SQL | bloco de código [CONTINUE] Exemplo: WHILE (SELECT AVG(comissao) FROM vendas) < 25 BEGIN UPDATE vendas SET comissao = comissao * 1.05 IF (SELECT MAX(comissao)FROM vendas) > 27 BREAK ELSE CONTINUE END SELECT MAX(comissao) AS Comissão Máxima" FROM vendas

11 Slide PRINT Mostra mensagem no SQL Query Analyze (Console) PRINT string Outras linguagens de programação: Java: System.out.print C#, VB.NET: Console.WriteLine

12 Slide Stored Procedure 2.1 O que é uma Stored Procedure? 2.2 Stored Procedure vs. comando SQL 2.3 Criar, alterar e apagar uma procedure

13 Slide O que é uma Store Procedure? Uma stored procedure é uma coleção de comandos T-SQL que SQL Server compila em um plano de execução. A Procedure é armazenada em um area de cache da memoria queando é executada pela primeira vez. Isso é feito para que o SQL Server não precise recompilar ela cada vez que for ser executada. Ela aceita parametros de entrada, parâmetros de saída e pode retornar mensagens de sucesso ou falha.

14 Slide Stored Procedure vs. Comando SQL Primeira execução - Verifica sintaxe - Compila - Executa - Returna dados Segunda execução - Verifica sintaxe - Compila - Executa - Returna dados Primeira execução - Execute - Returna dados Segunda execução - Executa - Returna dados SQL StatementStored Procedure Criação - Verifica sintaxe - Compila

15 Slide Criar, alterar e apagar uma procedure Criar uma Procedure Alterar uma Procedure Apagar uma Procedure

16 Slide Create a Procedure Sintaxe Exemplo 1 (sem parametros) Exemplo 2 (com parametros) Exemplo 3 (usando RETURN)

17 Slide Sintaxe CREATE PROC[EDURE] nome_procedure tipo_parametro] [= default] OUTPUT][,...,n] AS CódigoT-SQL (s)

18 Slide Exemplo 1 (sem parametros) CREATE PROC Membros_Departamento AS SELECT Dep_Nome, COUNT(Emp_ID) NumeroMembros FROM Departamentos D, Empregados E WHERE D.Dep_ID = E.Dep_ID GROUP BY Dep_Nome Run Procedure Execute Membros_Departamento

19 Slide Exemplo 2 (com parametros) CREATE PROC varchar(50) AS SELECT Dep_Nome, COUNT(Emp_ID) NumeroEmpregados FROM Departamentos D, Empregados E WHERE D.Dep_ID = E.Dep_ID and Dep_Nome GROUP BY Dep_Nome Run Procedure Execute Membros_Departamento Contabilidade

20 Slide Exemplo 3 (Using RETURN ) CREATE PROC varchar(10) = null AS Cod_Emp is null BEGIN PRINT Por favor entre com o código do empregado!' RETURN END SELECT * FROM Empregados WHERE Cod_Emp Cod_Emp ORDER BY Nome

21 Slide Update a Procedure ALTER PROC[EDURE] procedure_name tipo_parametro] [= default] [OUTPUT] [,...,n] AS código t-sql

22 Slide Delete a Procedure DROP PROCEDURE nome_procedure

23 Slide Function 3.1 O que é uma Function? 3.2 Scalar functions - Exemplo 3.3 Inline Table-valued Functions - Exemplo 3.4 Multi-statement Table-Valued Functions - Exemplo

24 Slide O que é uma Function? SQL Server suporta três tipos de definição de funções: Scalar functions Inline table-valued functions Multi-statement table-valued functions

25 Slide Scalar functions - Exemplo CREATE FUNCTION datetime) Returns money AS BEGIN money = sum(Quantidade * Preco) FROM Pedidos_Venda s, Pedidos_Venda_Items si WHERE s.Numero = si.Numero and year(Data) = and month(Data) = and day(Data)= END Use: select ReceitaDiaria(GETDATE())

26 Slide Inline Table-valued Functions - Exemplo CREATE FUNCTION MediaPrecoPorItem preco money = 0.0) RETURNS table AS RETURN ( SELECT Descricao_Item, Preco_Item FROM Itens WHERE Preco_Item Use: select * from MediaPrecoPorItem (15.00)

27 Slide Multi-statement Table-Valued Functions - Exemplo CREATE FUNCTION MediaPrecoPorItem preco money = 0.0) table (Descricao varchar(50) null, Preco money null) AS begin SELECT Descricao_Item, Preco_Item FROM Itens WHERE Preco_Item return end Use: select * from MediaPrecoPorItem(15.00)

28 Slide Trigger 4.1 O que é uma Trigger? 4.2 Sintaxe de criação 4.3 Habilitar/Desabilitar 4.4 Tabelas de valores inseridos e excluídos 4.5 Exemplo 4.6 Outras funções

29 Slide O que é uma Trigger? Trigger é um procedimento que é executado automaticamente como parte de uma modificação de dados. A trigger é criada em uma tabela e associada com uma ou mais ações ligadas com uma modificação de dados (INSERT, UPDATE, or DELETE). Quando uma das ações para que a trigger está definida ocorre, a trigger é acionada automaticamente Alguns exemplos de uso de triggers: Manutenção de dados duplicados Complexas restrições de coluna Integridade referencial em cascata Padrões complexos Inter-banco de dados de integridade referencial

30 Slide Sintaxe de criação CREATE TRIGGER nome_trigger ON {[DELETE] [,] [INSERT] [,] [UPDATE]} AS Código SQL [...n]

31 Slide Habilitar/Desabilitar Sitaxe para desabilitar Disable trigger on Sitaxe para habilitar Enable trigger on

32 Slide Deleted and Inserted tables Quando você cria uma trigger, você tem acesso a duas tabelas temporárias (a tabela de valores apagados e inseridos). Eles são representados como tabelas, mas diferentemente das tabelas de banco de dados. Eles são armazenados na memória não no disco. Quando um insert, update ou delete é executed. Todos os dados serão copiados para essa tabela com a mesma estrutura. Os valores inseridas e excluídas são acessíveis apenas dentro da trigger. Uma vez que a trigger é concluída, essas tabelas não estão mais disponíveis. Inserted TableDeleted Table novo antigo InsertUpdateDelete

33 Slide Exemplo CREATE TRIGGER Print_Update ON Invetario_Bicicleta FOR UPDATE AS PRINT A tabela invertário de bicicletas foi atualizada"

34 Slide Outras Funções Ver conteúdo da trigger sp_helptext Ver número de triggers na a table sp_helptrigger

35 Slide 35


Carregar ppt "Slide 1 Stored Procedure, Function and Trigger. Slide 2 Objetivos 1.Programando no banco de dados 2.Stored Procedure 3.Function 4.Trigger."

Apresentações semelhantes


Anúncios Google