Saya ingin membuat pemicu menggunakan sql mentah,sql ini sebagai:
DELIMITER $$
CREATE OR REPLACE TRIGGER platformdb.trig_updatevehiclekilometer
AFTER UPDATE ON platformdb.VehicleTravels FOR EACH ROW
BEGIN
UPDATE Vehicles SET TotalKilometers=new.Kilometers WHERE ID=new.VehicleId;
END$$
DELIMITER ;
Dieksekusi di mariadb tidak masalah, tetapi kueri sql mentah menggunakan inti EF akan melaporkan kesalahan DELIMITER, sebagai berikut
MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DELIMITER $$ CREATE OR REPLACE TRIGGER platformdb.trig_updatevehiclekilometer A' at line 1 ---> MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DELIMITER $$ CREATE OR REPLACE TRIGGER platformdb.trig_updatevehiclekilometer A' at line 1
gunakan DELIMITER $$;
sebagai kesalahan yang sama
Jadi, bagaimana cara Mengeksekusi sql mentah dengan DELIMITER
atau alternatif apa?
Tolong , terima kasih
DELIMITER $$
adalah untuk MySQL Workbench. Dalam kode C#, cukup buat MySqlCommand
dengan teks perintah lengkap dan jalankan:
using (var command = new MySqlCommand(@"CREATE OR REPLACE TRIGGER platformdb.trig_updatevehiclekilometer
AFTER UPDATE ON platformdb.VehicleTravels FOR EACH ROW
BEGIN
UPDATE Vehicles SET TotalKilometers=new.Kilometers WHERE ID=new.VehicleId;
END", connection))
{
command.ExecuteNonQuery();
}
DELIMITER $$
adalah untuk MySQL Workbench. Dalam kode C#, cukup buatMySqlCommand
dengan teks perintah lengkap dan jalankan:using (var command = new MySqlCommand(@"CREATE OR REPLACE TRIGGER platformdb.trig_updatevehiclekilometer AFTER UPDATE ON platformdb.VehicleTravels FOR EACH ROW BEGIN UPDATE Vehicles SET TotalKilometers=new.Kilometers WHERE ID=new.VehicleId; END", connection)) { command.ExecuteNonQuery(); }
Terima kasih, ini sangat berguna bagi saya