文档章节

sql存储知识储备

帅的不像男的
 帅的不像男的
发布于 2016/04/01 12:52
字数 523
阅读 184
收藏 6

精选30+云产品,助力企业轻松上云!>>>

例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

上文中讲到的这三个例子都是sql存储过程比较典型的例子,希望大家好好学习,都能够学到大家各自需要的东西。


帅的不像男的
粉丝 13
博文 91
码字总数 49823
作品 0
深圳
程序员
私信 提问
加载中
请先登录后再评论。
mysql 数据库基础操作

一 知识储备 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,clas...

osc_visbzz19
2019/05/31
2
0
MySQL数据库----基础操作

一、知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list,相当于一个具体的文件...

osc_q2cisxou
2018/02/26
3
0
软件测试知识学习路线

系统知识储备:linux、互联网网络基础、数据库、编程基础。   linux基础:1、linux系统了解和环境熟悉        2、常用的linux命令        3、linux文件属性、权限、用户管理 ...

osc_p61a4z2o
2019/05/13
2
0
程序员转正述职报告

指缝太宽,时间太瘦。我于2018年3月进入公司做net程序开发,转眼间已经快三个月了。三个月,是考核的时间,更是磨练和适应融合公司的时间。初来公司,曾担心和同事的相处问题,但公司融洽的工...

osc_tehy8vur
2019/08/05
4
0
求一份java工作

本人去年四月份参加工作,前几天刚辞职,求一份在上海java web的工作 专业技能情况如下: 1. 拥有扎实的java基础知识 2. 熟练掌握html、css、js,jQuery等前端技术,对ext js前端框架也有一定...

IT储备网
2012/04/02
1.4K
10

没有更多内容

加载失败,请刷新页面

加载更多

Java知识点--卫语句

在《阿里巴巴Java开发手册》中强制规定:超过 3 层的 if-else 的逻辑判断代码可以使用卫语句、策略模式、状态模式等来实现,其中卫语句即代码逻辑先考虑失败、异常、中断、退出等直接返回的情...

HLee
46分钟前
13
0
实施与扩展:何时使用? 有什么不同? - Implements vs extends: When to use? What's the difference?

问题: 请用一种易于理解的语言或一些文章的链接进行解释。 解决方案: 参考一: https://stackoom.com/question/jTkh/实施与扩展-何时使用-有什么不同 参考二: https://oldbug.net/q/jTkh/...

技术盛宴
47分钟前
20
0
剑指offer之队列中的最大值(C++/Java双重实现)

1.题目描述 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回...

osc_jvzgahav
49分钟前
12
0
JAVA-过滤器和拦截器1

1、过滤器 (Filter) 过滤器的配置比较简单,直接实现 Filter 接口即可,也可以通过 @WebFilter 注解实现对特定 URL 拦截,看到 Filter 接口中定义了三个方法。 init() :该方法在容器启动初始...

osc_hinb5m98
51分钟前
21
0
模拟红包算法(基于BigDecimal、DecimalFormat、Random类)

基于BigDecimal、DecimalFormat、Random实现模拟红包算法 RedPacket 类 import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.ArrayList;import java.util.Rand......

osc_ml6lx2h4
52分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部