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.
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.
Membuat Stored Prosedures :
CREATE PROCEDURE MHSMTK
AS
BEGIN
SELECT KDPST,NIMHS,NMMHS
FROM MSMHS
WHERE KDPST='44201'
ENDDengan menggunakan parameter :
CREATE PROCEDURE MHSMTKcari
@KDPRODI NVARCHAR(12)
AS
BEGIN
SELECT KDPST,NIMHS,NMMHS
FROM MSMHS
WHERE KDPST=@KDPRODI
ENDMemanggil 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))
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)
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