Base dados hotel
António Fonseca
© 2012
ISTEC
Definição
• Conjunto de comandos SQL que são guardados na base de dados • Permitem um aumento de performance, devido a transitar menos informação entre o servidor e o cliente (aumenta a carga no servidor) • Em linguagens de programação recentes, são possíveis de ser criadas internamente através da criação de classes
SGBD
ISTEC
Utilização
• Devem ser utilizadas:
– Quando várias aplicações clientes são escritas em diferentes linguagens ou funcionam em diferentes plataformas, mas precisam realizar as mesmas operações de base de dados. – Segurança, alguns correctores, por exemplo, usam stored procedures para todas as operações comuns. Isto fornece um ambiente consistente e seguro, podem assegurar que cada operação tenha o log efectuado de forma prédefinida. Neste tipo de configuração, aplicações e utilizadores não conseguem aceder às tabelas da base de dados directamente, mas apenas executar stored procedures específicas.
SGBD
ISTEC
Stored Procedure
• Criar CREATE PROC[EDURE] procedure_name [ {@parameter data_type} [= default] [OUTPUT] ] [,...n] AS sql_statement [...n]
Ex: Create Procedure BuscarProduto @idProd varchar(50) as Select * from dbo.Products where productid = @idProd
SGBD
ISTEC
Variaveis
• Declaração
declare @nome char(20) set @nome=‘Jose'
select * from employees where firstname = @nome
SGBD
ISTEC
Stored Procedure
• Alterar
ALTER PROCEDURE [dbo].[CustOrdersOrders] @CustomerID nchar(5) AS SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE CustomerID = @CustomerID ORDER BY OrderID
SGBD
ISTEC
Stored Procedure
• Varios Parametros
Create procedure Empregados @Nome varchar(50), @Apelido varchar(50) as select * from Employees where FirstName = @ Nome and LastName = @ Apelido GO
Execute dEmpregados ‘Nancy', ‘Smith’
SGBD
ISTEC
Stored Procedure
• Devolver Parametros
Create procedure Empregados @Nome