zoukankan      html  css  js  c++  java
  • sql存储过程几个简单例子

    导读: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 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 :下一页;false 0:上一页
    @allCount int output, --返回总记录数
    @pageSize int output, --返回一页的记录数
    @CurPage int --页号(第几页)0:第一页;-1最后一页。
    )

    AS

    if @CurPage=0--表示第一页
    begin
    --统计总记录数
    select @allCount=count(ProductId) from Product_test 

    set @pageSize=10
    --返回第一页的数据
    select top 10 
    ProductId,
    ProductName,
    Introduction 
    from Product_test order by ProductId 
    end

    else if @CurPage=-1--表示最后一页

    select * from 
    (select top 10 ProductId,
    ProductName,
    Introduction

    from Product_test order by ProductId desc ) as aa 
    order by ProductId
    else

    begin 
    if @isNext=1
    --翻到下一页
    select top 10 ProductId,
    ProductName,
    Introduction
    from Product_test where ProductId > @LastID order by ProductId 
    else
    --翻到上一页
    select * from
    (select top 10 ProductId,
    ProductName,
    Introduction
    from Product_test where ProductId < @FirstID order by ProductId desc) as bb order by ProductId
    end

  • 相关阅读:
    JAVA基础——编程练习(二)
    JAVA基础——面向对象三大特性:封装、继承、多态
    JVM内存
    50. Pow(x, n) (JAVA)
    47. Permutations II (JAVA)
    46. Permutations (JAVA)
    45. Jump Game II (JAVA)
    43. Multiply Strings (JAVA)
    42. Trapping Rain Water (JAVA)
    41. First Missing Positive (JAVA)
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/5969068.html
Copyright © 2011-2022 走看看