Views E Procedures
Views(Visualização)
O objeto view permite a criação de várias visualizações de uma ou mais tabelas. Diferentemente de uma tabela, uma view não ocupa espaço físico para armazenar os dados, pois basicamente ela é um objeto com um comando SELECT encapsulado. Por este motivo, alguns autores a definem como “tabela virtual”
Sintaxe
CREATE VIEW nome_view
AS
SELECT… FROM [WHERE]…;
Restrições: não utilizer ORDER BY/SELECT INTO.
Exemplo 1: Criar uma view para acesso externo com os dados: RA, nome, curso, semester(ativos). CREATE VIEW DadosAlunos AS SELECT RA, nome, curso, semestre FROM Alunos WHERE Ativo=1;
Caso seja necessário alterar a view acrescentando a data de nascimento DROP VIEW DadosAlunos; CREATE VIEW DadosAlunos AS SELECT RA, nome, curso, semestre, DatNascto FROM Alunos WHERE Ativo = 1;
Uma view pode utilizar subquery, funções agregadoras e joins.
Stored Procedures (Procedimentos armazenados)
Permitem o encapsulamento de um ou mais comandos SQL, através da criação do objeto procedure. Uma procedure pode:
Aceitar parâmetros de entrada e retornar vários valores como parâmetros de saída;
Conter instruções de programação SQL que executam operações dentro do banco de dados, inclusive outras procedures.
Retornar um valor de status a um procedimento de chamada ou lote para indicar êxito ou falha (e o motivo da falha).
Sintaxe básica:
CREATE PROCEDURE nome_procedure
(@parametro1 tipo1 [OUTPUT], @parametroN tipo [OUTPUT])
AS
BEGIN [DECLARE] [SET] [IF/ELSE/END IF] Comandos SQL/SELECT, INSERT, UPDATE, DELETE)
END
Parâmetros: devem começar obrigatoriamente com @.
Tipo: deve representar um tipo válido do SGBD em questão.
OUTPUT/OUT: utilizado para indicar quando um parâmetro retornará valores da saída (opcional).
DECLARE: permite a declaração de variáveis
SET: Define valor a uma variável ou parâmetro.
EXECUTE/EXEC: utilizado para executar uma procedure.
Exemplo 1: Criar uma procedure que retorne a média de um aluno, a média