소개: SQL 저장은 데이터베이스 작업 프로세스의 중요한 부분이기도 합니다. 이 기사에서는 데이터베이스의 SQL 저장 프로시저를 분석하기 위해 몇 가지 예를 사용합니다. 추상적인 것은 시각화하면 이해하기가 더 쉽습니다.
예 1:
create proc proc_stu
@sname varchar(20),
@pwd varchar(20)
as
select * from ren where sname =@sname 및 pwd=@pwd
go
결과 보기: proc_stu 'admin','admin'
예 2:
다음 저장 프로시저는 user를 구현합니다. 검증 함수는 실패할 경우 0을, 성공할 경우 1을 반환합니다.
CREATE PROCEDURE VALIDATE @USERNAME CHAR(20),@PASSWORD CHAR(20),@LEGAL BIT OUTPUT
AS
IF EXISTS(SELECT * FROM REN WHERE SNAME = @USERNAME AND PWD = @PASSWORD)
SELECT @LEGAL = 1
ELSE
SELECT @LEGAL = 0
프로그램 호출에서 저장 프로시저를 실행하고 @LEGAL 매개 변수 값을 기반으로 사용자가 합법적인지 여부를 결정합니다.
예 3: 효율적인 데이터 페이징 저장 프로시저는 수백만 개의 데이터를 쉽게 처리할 수 있습니다
CREATE PROCEDURE pageTest --페이지 넘김 테스트
-- 첫 번째 열에 정렬 필드를 넣어야 합니다
(
@FirstID nvarchar(20)=null, --현재 페이지의 첫 번째 레코드의 정렬 필드 값
@ LastID nvarchar(20)=null, --현재 페이지의 마지막 레코드의 정렬 필드 값
@isNext bit=null, --true 1: 다음 페이지
@ allCount int 출력, --총 레코드 개수 반환
@pageSize int 출력, --한 페이지의 레코드 개수 반환
@CurPage int --페이지 번호(페이지) 0: 첫 번째 페이지; 마지막 페이지. allCount=count(ProductId) from Product_test
--첫 번째 페이지의 데이터를 반환
상위 10개ProductId,
ProductName 선택
소개
from Product_test ProductId별 주문
end
else if @CurPage=-1--마지막 페이지를 나타냄
에서 * 선택(상단 선택 10 ProductId,
ProductName,
소개
order by ProductId
else
begin
if @isNext =1
--다음 페이지로 이동
ProductName,
소개
ProductId > @LastID order by ProductId
--이전 페이지로 이동
에서 * 선택
(Product_test에서 ProductId < @FirstID order by ProductId desc)에서 bb order by로 상위 10개 ProductId,
ProductName,
소개
선택 ProductId
end
위에서 언급한 세 가지 예는 모두 SQL 저장 프로시저의 전형적인 예입니다. 모두가 열심히 공부하여 필요한 것을 배우기를 바랍니다.