Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menulis prosedur tersimpan tersuai, pencetus dan fungsi dalam MySQL menggunakan C#

Bagaimana untuk menulis prosedur tersimpan tersuai, pencetus dan fungsi dalam MySQL menggunakan C#

WBOY
WBOYasal
2023-09-20 12:04:46657semak imbas

Bagaimana untuk menulis prosedur tersimpan tersuai, pencetus dan fungsi dalam MySQL menggunakan C#

Cara menulis prosedur tersimpan tersuai, pencetus dan fungsi dalam MySQL menggunakan C#

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas, dan C# ialah bahasa pengaturcaraan yang berkuasa untuk mereka yang perlu bekerja dengan pangkalan data Untuk pembangunan interaktif tugasan, MySQL dan C# adalah pilihan yang baik. Dalam MySQL, kita boleh menggunakan C# untuk menulis prosedur tersimpan tersuai, pencetus dan fungsi untuk mencapai operasi pangkalan data yang lebih fleksibel dan berkuasa.

Artikel ini akan membimbing anda melalui contoh penulisan dan pelaksanaan prosedur tersimpan tersuai, pencetus dan fungsi menggunakan C#. Kami akan memperkenalkan cara prosedur tersimpan, pencetus dan fungsi ditakrifkan dan kod sampel masing-masing. Ambil perhatian bahawa artikel ini menganggap anda telah memasang MySQL dan persekitaran pembangunan C#.

  1. Prosedur tersimpan tersuai

Prosedur tersimpan ialah blok kod SQL yang telah disusun dan disimpan dalam pangkalan data dan boleh dipanggil mengikut nama dan parameter. Di bawah ialah contoh yang menunjukkan cara membuat dan melaksanakan prosedur tersimpan yang mudah.

Mula-mula, buat prosedur tersimpan bernama GetEmployeeByID dalam MySQL: GetEmployeeByID 的存储过程:

DELIMITER //
CREATE PROCEDURE GetEmployeeByID(IN empID INT)
BEGIN
   SELECT * FROM Employees WHERE EmployeeID = empID;
END //
DELIMITER ;

然后,可以使用 C# 来调用这个存储过程:

using MySql.Data.MySqlClient;

MySqlConnection connection = new MySqlConnection("connectionString");
MySqlCommand command = new MySqlCommand("GetEmployeeByID", connection);
command.CommandType = CommandType.StoredProcedure;

command.Parameters.AddWithValue("@empID", 1);

connection.Open();
MySqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
    Console.WriteLine(reader["EmployeeName"]);
}

reader.Close();
connection.Close();
  1. 自定义触发器

触发器是一种特殊类型的存储过程,它会在数据库中的指定操作发生时自动执行。下面是一个示例,演示如何创建和使用触发器。

首先,在 MySQL 中创建一个名为 UpdateInventory 的触发器:

CREATE TRIGGER UpdateInventory AFTER INSERT ON Orders
FOR EACH ROW
BEGIN
   UPDATE Products SET Inventory = Inventory - NEW.Quantity WHERE ProductID = NEW.ProductID;
END

然后,可以在 C# 中执行插入操作,来触发这个触发器:

using MySql.Data.MySqlClient;

MySqlConnection connection = new MySqlConnection("connectionString");
MySqlCommand command = new MySqlCommand("INSERT INTO Orders (ProductID, Quantity) VALUES (1, 10)", connection);

connection.Open();
command.ExecuteNonQuery();
connection.Close();
  1. 自定义函数

函数是一段可重用的代码,在 MySQL 中可以像内置函数一样使用。下面是一个示例,演示如何创建和使用自定义函数。

首先,在 MySQL 中创建一个名为 CalculateDiscount

CREATE FUNCTION CalculateDiscount(price DECIMAL(10,2), discount DECIMAL(10,2))
RETURNS DECIMAL(10,2)
RETURN price - (price * (discount / 100));

Kemudian, anda boleh menggunakan C# untuk memanggil prosedur tersimpan ini:

using MySql.Data.MySqlClient;

MySqlConnection connection = new MySqlConnection("connectionString");
MySqlCommand command = new MySqlCommand("SELECT CalculateDiscount(100, 10)", connection);

connection.Open();
object result = command.ExecuteScalar();
connection.Close();

Console.WriteLine(result);

    Customized Triggers

    🎜Pencetus ialah sejenis prosedur tersimpan khas yang dilaksanakan secara automatik apabila operasi tertentu berlaku dalam pangkalan data. Di bawah ialah contoh yang menunjukkan cara membuat dan menggunakan pencetus. 🎜🎜Mula-mula, buat pencetus bernama UpdateInventory dalam MySQL: 🎜rrreee🎜Kemudian, anda boleh melakukan operasi sisipan dalam C# untuk mencetuskan pencetus ini: 🎜rrreee
      🎜Fungsi tersuai 🎜🎜🎜Fungsi ialah sekeping kod boleh guna semula yang boleh digunakan seperti fungsi terbina dalam MySQL. Di bawah ialah contoh yang menunjukkan cara membuat dan menggunakan fungsi tersuai. 🎜🎜Pertama sekali, buat fungsi bernama CalculateDiscount dalam MySQL: 🎜rrreee🎜 Kemudian, anda boleh memanggil fungsi ini dalam C#: 🎜rrreee🎜Di atas ialah cara menulis storan tersuai menggunakan C# dalam MySQL Contoh prosedur , pencetus dan fungsi. Contoh-contoh ini menyediakan penggunaan asas yang boleh anda ubah suai dan lanjutkan dengan sewajarnya untuk memenuhi keperluan anda. Semoga ia membantu anda lebih memahami dan menggunakan MySQL dan C#. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menulis prosedur tersimpan tersuai, pencetus dan fungsi dalam MySQL menggunakan C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn