はじめに: SQL ストレージはデータベース操作プロセスの重要な部分でもあり、一部の初心者にとっては理解しにくいものです。この記事では、データベース内の SQL ストアド プロシージャを分析するためにいくつかの例を使用します。物事が視覚化され、理解しやすくなります。
例 1:
create proc proc_stu
@sname varchar(20),
@pwd varchar(20)
as
select * from ren where sname=@sname and pwd=@pwd
go
結果の表示: proc_stu 'admin','admin'
例 2:
次のストアド プロシージャは、失敗した場合は 0 を返し、成功した場合は 1 を返します。
CREATE PROCEDURE VALIDATE @USERNAME CHAR( 20),@PASSWORD CHAR(20),@LEGAL ビット出力
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: 次のページ; false 0: 前のページ
@allCount int 出力、-レコードの合計数を返します
@pageSize int 出力、-1 ページのレコード数を返します
@CurPage int -- ページ番号 (ページ) 0: 最初のページ; -1 最後のページ
)
AS
if @CurPage=0 -- 最初のページを示します
begin
-- records
select @allCount=count(ProductId) from Product_test
set @pageSize=10
-- 最初のページのデータを返す
上位 10 を選択
ProductId,
ProductName,
Introduction
from Product_test order by Product_test
end
else if @CurPage=-1--最後のページを示します
select * from
(上位 10 個の ProductId、
ProductName、
紹介
from Product_test order by ProductId desc ) as aa
order by ProductId
else
begin
if @isNext=1
-- 次のページに進みます
Product_test から上位 10 個の ProductId、
ProductName、
Introduction
を ProductId > @LastID 順に選択します
else
-- 前のページに進みます
select * from
(上位 10 個の ProductId,
ProductName,
Introduction
from Product_test where ProductId < @FirstID order by ProductId desc) as bb order by ProductId
end
上記の 3 つの例は、典型的な SQL ストアド プロシージャです。一生懸命勉強して、必要なことを学びます。