C を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法
#MySQL は広く使用されているオープン ソースのリレーショナル データベース管理システムであり、C# は強力なMySQL と C# は、データベースとの対話が必要な開発タスクに適した選択肢です。 MySQL では、C# を使用してカスタム ストアド プロシージャ、トリガー、関数を作成し、より柔軟で強力なデータベース操作を実現できます。
この記事では、C# を使用したカスタム ストアド プロシージャ、トリガー、関数の作成と実行の例を説明します。ストアドプロシージャ、トリガー、関数のそれぞれの定義方法とサンプルコードを紹介します。この記事は、MySQL と C# 開発環境がインストールされていることを前提としていることに注意してください。
ストアド プロシージャは、プリコンパイルされてデータベースに保存され、名前とパラメータによって呼び出すことができる SQL コードのブロックです。以下は、単純なストアド プロシージャを作成して実行する方法を示す例です。
まず、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();
トリガーは、データベース内で指定された操作が発生したときに自動的に実行される特別なタイプのストアド プロシージャです。以下は、トリガーの作成方法と使用方法を示す例です。
まず、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();
関数は、MySQL の組み込み関数のように使用できる再利用可能なコードです。以下は、カスタム関数を作成して使用する方法を示す例です。
まず、MySQL で CalculateDiscount
という名前の関数を作成します:
CREATE FUNCTION CalculateDiscount(price DECIMAL(10,2), discount DECIMAL(10,2)) RETURNS DECIMAL(10,2) RETURN price - (price * (discount / 100));
次に、この関数を C# で呼び出すことができます:
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);
上記は例ですC# を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法について説明します。これらの例は、ニーズに合わせて適切に変更および拡張できる基本的な使用法を示しています。 MySQL と C# をよりよく理解し、使用するのに役立つことを願っています。
以上がC# を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。