Mencetuskan Suntikan Data ke dalam Jadual Lain apabila Dimasukkan dalam SQL Server
Apabila menguruskan data dalam SQL Server, pencetus boleh terbukti sangat berguna dalam mengautomasikan operasi dan memastikan integriti data. Satu keperluan sedemikian ialah memasukkan data daripada baris yang baru dibuat ke dalam jadual yang berasingan. Pertimbangkan senario berikut:
Anda mempunyai skema keahlian yang dilaksanakan dalam ASP.NET dan ingin menjejak butiran pengguna, khususnya ID pengguna dan nama pengguna mereka, dalam jadual lain selepas dimasukkan ke dalam jadual aspnet_users. Timbul persoalan: bagaimana anda boleh mendapatkan semula nilai daripada sisipan terbaharu dengan cekap?
Walaupun memilih mengikut tarikh terbaharu yang dibuat kelihatan seperti pendekatan yang mudah, ia boleh menjadi penyelesaian yang kurang elegan. Syukurlah, terdapat kaedah yang lebih sesuai:
Menggunakan Pembolehubah Jadual INSERT
SQL Server menyediakan pembolehubah jadual INSERT yang mengandungi maklumat tentang baris yang baru dimasukkan. Pembolehubah ini boleh dimanfaatkan untuk mengisi jadual sasaran dengan mudah:
CREATE TRIGGER [yourNewTrigger] ON [yourSourcetable] FOR INSERT AS BEGIN INSERT INTO [yourDestinationTable] (col1, col2, col3, user_id, user_name) SELECT 'a', default, NULL, user_id, user_name FROM INSERTED; END;
Dalam pencetus ini, selepas dimasukkan ke dalam YourSourcetable, pembolehubah jadual INSERTED digunakan untuk mengekstrak data yang diperlukan (user_id dan user_name) dan memasukkannya ke dalam yourDestinationTable bersama-sama dengan mana-mana data lain yang dikehendaki.
Pendekatan ini menawarkan cara yang bersih dan berkesan untuk menjejaki perubahan data dan mengekalkan data penyegerakan antara berbilang jadual, memastikan anda mempunyai maklumat yang diperlukan apabila anda memerlukannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cetuskan Suntikan Data dengan Cekap ke dalam Jadual Kedua Setelah INSERT dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!