> 데이터 베이스 > MySQL 튜토리얼 > C#을 사용하여 MySQL에서 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하는 방법

C#을 사용하여 MySQL에서 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하는 방법

WBOY
풀어 주다: 2023-09-20 12:04:46
원래의
828명이 탐색했습니다.

C#을 사용하여 MySQL에서 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하는 방법

C#을 사용하여 MySQL에서 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하는 방법

MySQL은 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템이고 C#은 데이터베이스 작업이 필요한 사람들을 위한 강력한 프로그래밍 언어입니다. 대화형 개발을 위해 작업, MySQL 및 C#이 좋은 선택입니다. MySQL에서는 C#을 사용하여 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하여 보다 유연하고 강력한 데이터베이스 작업을 달성할 수 있습니다.

이 문서에서는 C#을 사용하여 사용자 지정 저장 프로시저, 트리거 및 함수를 작성하고 실행하는 예제를 안내합니다. 저장 프로시저, 트리거, 함수의 정의 방법과 샘플 코드를 각각 소개합니다. 이 문서에서는 MySQL과 C# 개발 환경이 설치되어 있다고 가정합니다.

  1. 사용자 정의 저장 프로시저

저장 프로시저는 미리 컴파일되어 데이터베이스에 저장되고 이름과 매개 변수로 호출할 수 있는 SQL 코드 블록입니다. 다음은 간단한 저장 프로시저를 만들고 실행하는 방법을 보여주는 예입니다.

먼저 MySQL에서 GetEmployeeByID라는 저장 프로시저를 만듭니다. 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));
로그인 후 복사

그런 다음 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);
로그인 후 복사
    사용자 정의 트리거

    🎜트리거는 데이터베이스에서 지정된 작업이 발생할 때 자동으로 실행되는 특수한 유형의 저장 프로시저입니다. 다음은 트리거를 만들고 사용하는 방법을 보여주는 예입니다. 🎜🎜먼저 MySQL에서 UpdateInventory라는 트리거를 만듭니다. 🎜rrreee🎜그런 다음 C#에서 삽입 작업을 수행하여 이 트리거를 트리거할 수 있습니다. 🎜rrreee
      🎜사용자 정의 함수 🎜🎜🎜함수는 MySQL의 내장 함수처럼 사용할 수 있는 재사용 가능한 코드 조각입니다. 다음은 사용자 정의 함수를 생성하고 사용하는 방법을 보여주는 예입니다. 🎜🎜먼저 MySQL에서 CalculateDiscount라는 함수를 만듭니다: 🎜rrreee🎜 그런 다음 C#에서 이 함수를 호출할 수 있습니다: 🎜rrreee🎜위는 MySQL에서 C#을 사용하여 사용자 정의 저장소를 작성하는 방법입니다. 절차의 예 , 트리거 및 기능. 이러한 예제에서는 필요에 맞게 적절하게 수정하고 확장할 수 있는 기본 사용법을 제공합니다. MySQL과 C#을 더 잘 이해하고 사용하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 C#을 사용하여 MySQL에서 사용자 정의 저장 프로시저, 트리거 및 함수를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿