Selasa, 20 September 2011

Materi Stored Procedures, Functions dan Trigger pada SQL Server

Nama / NIM : Septian Dwi Jaya Ade Putra / 10.41010.0228
Dosen         : Tan Amelia
Tugas        : membuat tulisan tentang materi Stored Procedures, Functions dan Trigger pada SQL Server.


Stored Procedures

Procedure adalah program yang disimpan dalam database seperti halnya data. Hal ini sebenanya cukup tidak umum, karena kita mengharapkan yang disimpan dalam database adalah data bukannya program.

Adanya dukungan Stored Procedure akan membuat program anda lebih ringkas dan mudah untuk dikembangkan. Dengan stored procedure : algoritma yang lama dimasukkan ke dalam stored procedure di SQL server, disimpan di server (misal dengan nama DoProsesStock). Pada program, cukup ditulis perintah SQL : Exec DoProsesStock StartDate, EndDate . Selanjutnya, SQL Server akan mengeksekusi perintah proses yang dinginkan. Satu kali perubahan proses, akan berlaku untuk semua user yang terhubung ke database, bahkan saat program masih berjalan di tiap komputer user (program tidak perlu dimatikan dulu).

Stored procedure akan menyederhanakan perintah SELECT * FROM table yang memang rumit, misal untuk laporan. Perintahnya dan algoritma nya sama dengan yang nomor 1. Bayangkan bila harus membuat perintah SELECT dari sebuah tabel, tapi juga diikuti kondisi-kondisi tertentu yang biasanya berhubungan dengan data dari tabel lain.

Stored procedure akan membantu dalam membuat laporan yang sifatnya analisa data, yang biasanya memerlukan banyak sekali tabel-tabel pembantu. Stored procedure, dapat membuat tabel temporary yang disimpan sementara di dalam memori server selama proses berlangsung, atau bisa juga selama program connect.

Stored procedure mengefisienkan proses, sehingga semua daya hanya akan dipusatkan di komputer server saja. Komputer client dapat berupa pentium 233 MMX, tapi dapat melakukan serangkaian proses yang rumit dan tetap tidak lambat. Karena bukan client yang berpikir, tetapi server yang melakukan pekerjaan, jadi client hanya akan mendapatkan data jadinya saja.
Membuat Stored Prosedures :

CREATE PROCEDURE MHSMTK
AS
BEGIN
    SELECT KDPST,NIMHS,NMMHS
    FROM MSMHS
    WHERE KDPST='44201'
     END

                

Dengan menggunakan parameter :

CREATE PROCEDURE MHSMTKcari
  @KDPRODI NVARCHAR(12)
AS
BEGIN
    SELECT KDPST,NIMHS,NMMHS
    FROM MSMHS
    WHERE KDPST=@KDPRODI
     END
                 
                     

Memanggil Stored Procedures :
     EXECUTE akademik.dbo.MHSMTK;
    EXECUTE akademik.dbo.MHSMTKcari ‘44201’


          
        
FUNCTION

Function dalam bahasa pemrograman adalah sebuah subrutin yang digunakan untuk mengenkapsulasi logika yang sering digunakan. Dengan function, kode program yang membutuhkan logika seperti terdapat dalam function tidak perlu menuliskan ulang akan tetapi cukup memanggil function tersebut. Perbedaan function dengan store procedure adalah function memberikan nilai keluaran sementara store procedure tidak.

Sintaks dasar untuk pembuatan Function :

CREATE FUNCTION nama_function
( [ @parameter tipe_data [ ,...n ] ] )
RETURNS tipe_data_return
[ AS ]
BEGIN
statement
RETURN nilai_return
END

Beberapa function yang disediakan untuk melakukan suatu operasi tertentu :
1.       §  Aggregate Functions
   Melakukan operasi yang mengkombinasi beberapa nilai menjadi satu.
   Contoh : COUNT, SUM, MIN dan MAX
        §  Cunfiguration Functions
   Merupakan Function dengan nilai skalar yang memberikan nilai konfigurasi setting
        §  Cursor Functions
   Memberikan informasi tentang status cursor
        §  Date and time Functions
   Memanipulasi nilai datetime dan smalldatetime
        §  Mathematical Functions
   Melakukan operasi trigonometri, geometri dan numerik
        §  Meta data Functions
   Memberikan informasi tentang atribut dari database dan obyek database
        §  Rowset Functions
   Memberikan rowset yang dapat digunakan pada tabel referensi dalam statement Transact-SQL
        §  Security Functions
   Memberikan informasi tentang users dan roles
        §  String Functions
   Memanipulasi nilai char, varchar, nchar, nvarchar, binary dan varbinary
        §  System Functions
   Operasi atau laporan pada bermacam level sistem dan obyek

TRIGGER

Trigger adalah prosedur tersimpan pada Microsoft SQL Server yang secara otomatis dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL (INSERT, UPDATE atau DELETE). Salah satu penggunaannya yang paling umum adalah untuk menerapkan pembatasan yang lebih kompleks dari yang telah diizinkan melalui pembatasan CHECK, yang berfungsi membatasi informasi yang disisipkan ke dalam kolom. Trigger bisa dibuat bersama dengan perintah INSERT, yang akan melakukan query ke tabel lain dan mengembalikan nilai logik yang membantu membatasi data yang diberikan kepada kolom tertentu.
Sebagai contoh:
Trigger bisa dibuat untuk menjalankan replikasi, misalnya apabila ada sebuah baris disisipkan ke dalam database Z, sebuah baris dengan informasi yang sama akan ditambahkan ke dalam database Y.
Trigger dibuat sebagai sebuah transaksi dan bisa dimundurkan apabila ada masalah yang dideteksi.

Kegunaannya Triger :
1.Menentukan nilai kolom – kolom tertentu secara otomatis
2.Menghindarkan transaksi yang tidak valid
3.Membuat autorisasi sekuriti yang kompleks
4.Membuat bussines rule yang kompleks
Event eksekusi trigger :
1.DML event (INSERT, UPDATE & DELETE) statement.
2.DDL event (CREATE, ALTER & DROP) statement
3.Database event (Startup/Shutdown, Error Message & User event (Logon/Logoff))

Conoh syntax :

   ALTER Trigger [dbo].[UpdateTableCust]
        On [dbo].[Customer]
        For Insert,Update
   As
   Declare @Code As Varchar(50);
   Declare @Name As Varchar(50);

   Select @Code = i.CustCode From inserted i;
   Select @Name = i.CustName From inserted i;

   If @Code is not Null
   Begin
        If Not Exists(Select CustCode From TableCust WhereCustCode = @Code and CustName =@Name)
            Begin
                Insert Into TableCust(CustCode,CustName) Values (@Code,@Name)
   End




Tidak ada komentar:

Posting Komentar