>php教程 >PHP开发 >SQL 저장 프로시저의 몇 가지 간단한 예

SQL 저장 프로시저의 몇 가지 간단한 예

高洛峰
高洛峰원래의
2016-12-14 13:42:171733검색

소개: 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

set @pageSize=10

--첫 번째 페이지의 데이터를 반환

상위 10개

ProductId,
ProductName 선택
소개
from Product_test ProductId별 주문
end

else if @CurPage=-1--마지막 페이지를 나타냄


에서 * 선택(상단 선택 10 ProductId,
ProductName,
소개

from Product_test order by ProductId desc ) as aa

order by ProductId

else


begin
if @isNext =1
--다음 페이지로 이동

상위 10개 ProductId,

ProductName,
소개
ProductId > @LastID order by ProductId

else

--이전 페이지로 이동
에서 * 선택
(Product_test에서 ProductId < @FirstID order by ProductId desc)에서 bb order by로 상위 10개 ProductId,
ProductName,
소개
선택 ProductId
end

위에서 언급한 세 가지 예는 모두 SQL 저장 프로시저의 전형적인 예입니다. 모두가 열심히 공부하여 필요한 것을 배우기를 바랍니다.



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.