logo

SQL 저장 프로시저

SQL의 저장 프로시저는 저장하고 여러 번 재사용할 수 있는 SQL 쿼리 그룹입니다. 이는 SQL 쿼리를 다시 작성할 필요성을 줄여주므로 매우 유용합니다. 데이터베이스 관리의 효율성, 재사용성 및 보안이 향상됩니다.

사용자는 저장 프로시저가 전달된 매개 변수 값에 따라 작동할 수 있도록 매개 변수를 저장 프로시저에 전달할 수도 있습니다.

하나 이상의 작업을 수행하기 위해 저장 프로시저가 생성됩니다. DML 데이터베이스에서의 작업. 그것은 다름 아닌 집단이다. SQL 문 매개 변수 형식의 일부 입력을 받아들이고 일부 작업을 수행하며 값을 반환할 수도 있고 반환하지 않을 수도 있습니다.



통사론

SQL에서 저장 프로시저를 사용하기 위한 두 가지 중요한 구문은 다음과 같습니다.

저장 프로시저를 생성하는 구문

프로시저 생성 프로시저_이름
(매개변수1 데이터_유형, 매개변수2 데이터_유형, …)
처럼
시작하다
— 실행할 SQL 문

안드로이드에서 차단된 번호를 찾는 방법

저장 프로시저를 실행하는 구문

EXEC 프로시저_이름 매개변수1_값, 매개변수2_값, ..

매개변수

가장 중요한 부분은 매개변수입니다. 매개변수는 프로시저에 값을 전달하는 데 사용됩니다. 매개변수에는 다음과 같은 다양한 유형이 있습니다.

  1. 시작하다: 직접 실행하는 부분, 혹은 실행 가능한 부분이라고 할 수 있습니다.
  2. 끝: 여기까지 코드가 실행됩니다.

SQL 저장 프로시저 예

더 잘 이해하기 위해 SQL의 저장 프로시저의 예를 살펴보겠습니다.

SampleDB라는 데이터베이스, 일부 샘플 데이터가 포함된 Customers라는 테이블, GetCustomersByCountry라는 저장 프로시저를 상상해 보세요.

저장 프로시저는 Country 매개 변수를 사용하고 Customers 테이블에서 지정된 국가와 일치하는 고객 목록을 반환합니다. 마지막으로 스리랑카의 고객 목록을 검색하기 위해 Sri Rank 매개변수를 사용하여 저장 프로시저가 실행됩니다.

질문:

-- Create a new database named 'SampleDB' CREATE DATABASE SampleDB;  -- Switch to the new database USE SampleDB;  -- Create a new table named 'Customers' CREATE TABLE Customers (  CustomerID INT PRIMARY KEY,  CustomerName VARCHAR(50),  ContactName VARCHAR(50),  Country VARCHAR(50) );  -- Insert some sample data into the Customers table INSERT INTO Customers (CustomerID, CustomerName, ContactName, Country) VALUES (1, 'Shubham', 'Thakur', 'India'),  (2, 'Aman ', 'Chopra', 'Australia'),  (3, 'Naveen', 'Tulasi', 'Sri lanka'),  (4, 'Aditya', 'Arpan', 'Austria'),  (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain');  -- Create a stored procedure named 'GetCustomersByCountry' CREATE PROCEDURE GetCustomersByCountry  @Country VARCHAR(50) AS BEGIN  SELECT CustomerName, ContactName  FROM Customers  WHERE Country = @Country; END;  -- Execute the stored procedure with parameter 'Sri lanka' EXEC GetCustomersByCountry @Country = 'Sri lanka';>

메모: 사용자 계정에 데이터베이스를 생성하는 데 필요한 권한이 있는지 확인해야 합니다. 관리 권한이 있는 다른 사용자로 로그인을 시도하거나 데이터베이스 관리자에게 문의하여 사용자 계정에 필요한 권한을 부여할 수 있습니다. 클라우드 기반 데이터베이스 서비스를 사용하는 경우 사용자 계정과 해당 권한을 올바르게 구성했는지 확인하십시오.

산출:

고객 이름 담당자 이름
나빈 툴라시

SQL 저장 프로시저에 대한 중요한 사항

  • 저장 프로시저는 저장할 수 있는 준비된 SQL 코드이므로 코드를 계속해서 재사용할 수 있습니다.
  • 저장 프로시저를 사용하면 반복적으로 사용되는 코드를 데이터베이스에 저장하고 클라이언트가 아닌 데이터베이스에서 실행할 수 있습니다. 이는 데이터베이스 설계에 대한 보다 모듈화된 접근 방식을 제공합니다.
  • 저장 프로시저는 컴파일되어 데이터베이스에 저장되므로 효율성이 매우 높습니다. SQL Server는 각 저장 프로시저를 한 번 컴파일한 다음 실행 계획을 다시 활용합니다. 이는 저장 프로시저를 반복적으로 호출할 때 엄청난 성능 향상으로 이어집니다.
  • 저장 프로시저는 데이터에 대한 보안을 강화합니다. 사용자는 명령문을 직접 실행할 필요 없이 저장 프로시저를 실행할 수 있습니다. 따라서 사용자는 기본 테이블에 대한 권한 없이 저장 프로시저를 실행할 수 있는 권한을 부여받을 수 있습니다.
  • 저장 프로시저는 네트워크 트래픽과 대기 시간을 줄여 애플리케이션 성능을 향상시킬 수 있습니다. 저장 프로시저에 대한 단일 호출로 많은 문을 실행할 수 있습니다.
  • 저장 프로시저는 오류 처리를 더 잘 지원합니다.
  • 저장 프로시저를 사용하면 테이블의 데이터를 수정하고 이러한 변경 사항을 데이터베이스 트랜잭션 내에 캡슐화하는 등의 고급 데이터베이스 기능을 제공할 수 있습니다.