Melog SQL yang Mempengaruhi Jadual
Untuk menentukan sumber kemas kini pada lajur, anda boleh mencipta pencetus pada jadual terjejas yang menangkap SQL yang bertanggungjawab untuk perubahan. Mari kita terokai cara untuk mencapai ini dalam Microsoft SQL Server 2008.
Mencipta Pencetus
Menggunakan pernyataan DDL, anda boleh mencipta pencetus yang log SQL untuk kemas kini jadual :
CREATE TRIGGER trigger_name ON table_name AFTER UPDATE AS BEGIN -- Declare a variable to store the executed SQL DECLARE @sql_text VARCHAR(MAX); -- Retrieve the executed SQL from the context_info() function SET @sql_text = CAST(EVENTDATA() AS NVARCHAR(MAX)); -- Insert the SQL text into a log table or perform other desired actions INSERT INTO log_table (sql_text) VALUES (@sql_text); END;
Mengakses yang Dilaksanakan SQL
Setelah pencetus dicipta, fungsi EVENTDATA() boleh digunakan dalam kod pencetus untuk menangkap SQL yang dilaksanakan. Fungsi EVENTDATA() menyediakan akses kepada maklumat tentang peristiwa pangkalan data semasa, termasuk teks SQL yang menyebabkannya. Dengan mengekstrak maklumat ini, anda boleh mengenal pasti sumber kemas kini lajur.
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Log Penyata SQL yang Mengubah Suai Jadual Khusus dalam SQL Server 2008?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!