Ada kejanggalan pada trigger di SQL Server. bener gak sih ?.
bandingkan trigger sql server dengan ASA.
mudah-mudahan saya yang salah....atau memang ada settingan khusus di sqlserver.
tapi saya udah otak atik...putar puter,puyeng !!!, jalankan perintah ini itu,
tapi hasilnya nihil (kalo dunia program baca: null).
ada apa dengan trigger sql server!!!. mudah-mudahan dugaan saya salah.
Contoh sederhana:
table coba dengan kolom dan data sbb:
cobaid parentid ket
1 0 <null>
2 1 <null>
3 2 <null>
4 3 <null>
5 4 <null>
6 5 <null>
7 6 <null>
1. saya membuat triger delete di sqlserver sbb :
CREATE TRIGGER trig_coba_delete ON coba
AFTER DELETE
AS
begin
delete from coba from deleted
where coba.parentid = deleted.cobaid
end
catatan: kalo saya delete cobaidnya 1 harusnya semuanya terhapus kan????,
tapi kenapa cuma 1 dan 2 aja yang terhapus....secara logika harusnya
semuanya terhapus
bandingkan dengan ASA sbb :
CREATE TRIGGER "tda_coba" AFTER DELETE
ORDER 1 ON "DBA"."coba"
REFERENCING OLD AS old_name
FOR EACH ROW
BEGIN
delete from coba where parentid = old_name.cobaid
END
catatan: kalo saya delete cobaidnya 1 ....benar..... semuanya akan terhapus.
2. Saya membuat trigger update
CREATE TRIGGER trig_coba_update ON dbo.coba
AFTER UPDATE
AS
begin
update coba
set coba.ket = inserted.ket
rom inserted
where coba.parentid = inserted.cobaid
end
catatan: kalo saya edit kolom ket dengan "TES" pada cobaid 1, maka secara
logika seharusnya semua ket bernilai "TES" tapi
di sql server yang terisi "TES" cuma pada cobaid 1 dan 2 saja
bandingkan dengan ASA :
ALTER TRIGGER "tua_coba" AFTER UPDATE
ORDER 1 ON "DBA"."coba"
REFERENCING OLD AS old_name NEW AS new_name
FOR EACH ROW
BEGIN
update coba
set coba.ket = new_name.ket
where coba.parentid = new_name.cobaid;
END
catatan: kalo saya edit kolom ket dengan "TES" pada cobaid 1 maka semua row ket
bernilai "TES" .....benar....
ada apa dengan trigger sql server. knapa triggernya tidak meng-trigger lagi
selama ada perubahan data ?
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.