Maison > base de données > tutoriel mysql > le corps du texte

Comment écrire des procédures stockées, des déclencheurs et des fonctions personnalisés dans MySQL en utilisant C#

WBOY
Libérer: 2023-09-20 12:04:46
original
761 Les gens l'ont consulté

Comment écrire des procédures stockées, des déclencheurs et des fonctions personnalisés dans MySQL en utilisant C#

Comment écrire des procédures stockées, des déclencheurs et des fonctions personnalisés dans MySQL en utilisant C#

MySQL est un système de gestion de bases de données relationnelles open source largement utilisé, et C# est un langage de programmation puissant pour ceux qui ont besoin de travailler avec des bases de données pour un développement interactif. tâches, MySQL et C# sont de bons choix. Dans MySQL, nous pouvons utiliser C# pour écrire des procédures stockées, des déclencheurs et des fonctions personnalisés afin d'obtenir des opérations de base de données plus flexibles et plus puissantes.

Cet article vous guidera à travers des exemples d'écriture et d'exécution de procédures stockées, de déclencheurs et de fonctions personnalisés à l'aide de C#. Nous présenterons comment les procédures stockées, les déclencheurs et les fonctions sont définis ainsi que des exemples de code respectivement. Notez que cet article suppose que MySQL et un environnement de développement C# sont installés.

  1. Procédure stockée personnalisée

Une procédure stockée est un bloc de code SQL précompilé et stocké dans la base de données et peut être appelé par son nom et ses paramètres. Vous trouverez ci-dessous un exemple qui montre comment créer et exécuter une procédure stockée simple.

Tout d'abord, créez une procédure stockée nommée GetEmployeeByID dans MySQL : GetEmployeeByID 的存储过程:

DELIMITER //
CREATE PROCEDURE GetEmployeeByID(IN empID INT)
BEGIN
   SELECT * FROM Employees WHERE EmployeeID = empID;
END //
DELIMITER ;
Copier après la connexion

然后,可以使用 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();
Copier après la connexion
  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
Copier après la connexion

然后,可以在 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();
Copier après la connexion
  1. 自定义函数

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

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

CREATE FUNCTION CalculateDiscount(price DECIMAL(10,2), discount DECIMAL(10,2))
RETURNS DECIMAL(10,2)
RETURN price - (price * (discount / 100));
Copier après la connexion

Ensuite, vous pouvez utiliser C# pour appeler cette procédure stockée :

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);
Copier après la connexion
    Déclencheurs personnalisés

    🎜Un déclencheur est un type spécial de procédure stockée qui s'exécute automatiquement lorsqu'une opération spécifiée se produit dans la base de données. Vous trouverez ci-dessous un exemple montrant comment créer et utiliser un déclencheur. 🎜🎜Tout d'abord, créez un déclencheur nommé UpdateInventory dans MySQL : 🎜rrreee🎜Ensuite, vous pouvez effectuer une opération d'insertion en C# pour déclencher ce déclencheur : 🎜rrreee
      🎜Fonction personnalisée 🎜🎜🎜Une fonction est un morceau de code réutilisable qui peut être utilisé comme une fonction intégrée dans MySQL. Vous trouverez ci-dessous un exemple qui montre comment créer et utiliser une fonction personnalisée. 🎜🎜Tout d'abord, créez une fonction nommée CalculateDiscount dans MySQL : 🎜rrreee🎜 Ensuite, vous pouvez appeler cette fonction en C# : 🎜rrreee🎜Ce qui précède explique comment écrire un stockage personnalisé en utilisant C# dans MySQL. Exemples de procédures , déclencheurs et fonctions. Ces exemples fournissent une utilisation de base que vous pouvez modifier et étendre de manière appropriée en fonction de vos besoins. J'espère que cela vous aidera à mieux comprendre et utiliser MySQL et C#. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal