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 :
- Untuk menguji kesalahan manipulasi data dan mengambil tindakan yang sesuai berdasarkan kesalahan .
- Untuk menemukan perbedaan antara keadaan tabel sebelum dan sesudah modifikasi data dan mengambil tindakan berdasarkan perbedaan itu .
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) .
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.
0 comments:
Post a Comment