CONTOH STORED PROCEDURE, FUNCTION DAN TRIGGER SQL
NAMA : NUR SAKTI YANUAR ARDHY
NIM : 10.41010.0264
DOSEN : TAN AMELIA
1. Stored Procedure
A. A. Dengan parameter “ IN” adalah suatu variabel yang berisi nilai yang disuplai oleh program yang memanggil . Nilai pada variabel tersebut tidak dapat dikeluarkan dan hanya dapat digunakan oleh stored prosedur yang bersangkutan.
Contoh :
ALTER PROCEDURE CustomersCity
@CountryName varchar(15)
AS SELECT CustomerID, ContactName, Address, City
FROM Customers
WHERE City like @CountryName
EXEC CustomersCity 'México D.F.'
B. Dengan Parameter “OUT” adalah nilai suatu parameter dapat diproses pada stored procedure dan untuk kemudian parameter tersebut dapat diubah serta diberikan nilainya pada progrma yang memanggilnya .
Contoh :
ALTER PROCEDURE QuantityOrder
(@total SMALLINT OUTPUT )
AS
SELECT OrderID,ProductID,UnitPrice,Quantity, count(Quantity)
as SumOfOrderDetails
FROM [Order Details]
WHERE Quantity like @total
group by OrderID,ProductID,UnitPrice, Quantity
EXEC QuantityOrder '15'
C. Dengan Parameter “INOUT”
ALTER PROC LaporanDetails
@coba int OUT
as select OrderID,ProductID ,AVG (UnitPrice) as Average
from [Order Details]
where OrderID like @coba
group by OrderID, ProductID
EXEC LaporanDetails '10248'
2. Function
A. Contoh :
CREATE FUNCTION increment(@coba integer)
RETURNS integer
BEGIN
RETURN @coba + 1;
END;
B. Dengan Parameter “2IN”
Contoh : Menghitung total harga dari suatu produk
CREATE FUNCTION total (@harga money, @stok smallint)
returns smallint
AS
begin
return (@harga*@stok)
end;
select OrderID ,ProductID, UnitPrice, Quantity, dbo.total (UnitPrice, Quantity) as Total from [Order Details]
3. Trigger
A.For INSERT
Contoh :
CREATE TRIGGER For_insert ON dbo.[Order Details]
FOR INSERT
AS
INSERT INTO [Order Details] (OrderID, ProductID, UnitPrice, Quantity, Discount)
values ('12345', '77','20.00','5','0')
B. For DELETE
CREATE TRIGGER For_Delete ON dbo.Order Details
FOR DELETE
AS
DECLARE
@ID int
set @ID = (select OrderID FROM Order Details)
BEGIN
DELETE FROM Order Details where OrderIDID = @ID
END
0 comments:
Post a Comment