Sunday, 29 December 2013

SQL Server Hosting - Cara Inserted, Deleted Logical table pada SQL Server


Berikut ini akan dibahas mengenai Inserted dan Deleted logical table pada SQLServer . Tabel ini secara otomatis dibuat dan dikelola oleh SQL Server internal untuk mengelola data yang baru dimasukkan , dihapus dan diperbarui nilai-nilaiya selama operasi DML ( Insert , Update, Delete ) pada tabel database .

Penggunaan Logical Table

Pada dasarnya , tabel logis
digunakan untuk tujuan berikut :

  1. Untuk menguji kesalahan manipulasi data dan mengambil tindakan yang sesuai berdasarkan kesalahan . 
  2. Untuk menemukan perbedaan antara keadaan tabel sebelum dan sesudah modifikasi data dan mengambil tindakan berdasarkan perbedaan itu .
Inserted logical Tabel

Inserted Tabel memegang nilai-nilai yang baru dimasukkan atau nilai yang baru di update. Oleh karena itu record yang baru ditambahkan dan catatan yang diperbarui dimasukkan ke dalam inserted tabel .
Misalkan kita memiliki tabel Karyawan seperti yang ditunjukkan pada gambar . Sekarang Kita perlu membuat dua kondisi untuk melihat data dalam logical table yang dimasukkan (inserted) dan dihapus (deleted) .



Gunakan perintah di bawah ini.

CREATE TRIGGER trg_Emp_Ins

ON Employee

FOR INSERT

AS

begin

SELECT * FROM INSERTED -- show data in Inserted logical table

SELECT * FROM DELETED -- show data in Deleted logical table

end 

Jika Perintah yang digunakan maka akan tampil seperti di bawah ini.

Sekarang sisipkan record baru dalam tabel Karyawan untuk melihat data pada inserted logical table.
INSERT INTO Employee(EmpID, Name, Salary) VALUES(3,'Avin',23000)
SELECT * FROM Employee 




Deleted Logical Table

Deleted table memegang nilai-nilai yang baru dihapus atau diperbarui berarti nilai tersebut adalah data lama . Oleh karena itu yang record updated dan deleted yang sudah lama dimasukkan ke dalam deleted table.

CREATE TRIGGER trg_Emp_Upd

ON Employee

FOR UPDATE

AS

begin

SELECT * FROM INSERTED -- show data in INSERTED logical table

SELECT * FROM DELETED -- show data in DELETED logical table

end


--Now update the record in Employee table to see data with in Inserted and Deleted logical tables

Update Employee set Salary=43000 where EmpID=3

SELECT * FROM Employee



Kita tidak bisa membuat tabel logis atau memodifikasi data pada tabel logis . Kecuali jika Anda menggunakan klausa OUTPUT dalam query Anda , logical table secara otomatis dibuat dan dikelola oleh SQL Server . OUTPUT klausa juga memiliki akses ke Iserted dan Deleted logical tables.

Jika Anda mencari web hosting yang handal dan terjangkau, Anda dapat mempertimbangkan JaringanHosting.com.

1 comment:

  1. DreamHost is ultimately the best web-hosting provider with plans for any hosting requirements.

    ReplyDelete