Blogroll

Páginas

Tuesday, September 27, 2011

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

Twitter Delicious Facebook Digg Stumbleupon Favorites More