SQLServer------存储过程的使用
2024-09-13 23:50:28
转载:
http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html
例子:
1.学生表
CREATE TABLE [dbo].[Student](
[StudentID] [int] IDENTITY(,) NOT NULL, --主键
[Number] [varchar]() NULL, --学号
[Name] [nchar]() NULL, --学生姓名
[ClassID] [int] NOT NULL --学生所在班级ID
) 插入学生数据:
declare @count int =;
while @count <
begin
insert into Student select @count,'学生'+ convert(varchar,@count,),cast(ceiling(rand() * ) as int)
set @count = @count + ;
end
2.教师表
create table Teacher(
[TeacherID] [int] IDENTITY(,) NOT NULL, --老师ID
[TeacherName] [nchar]() NULL, --老师名称
[ClassID] [int] NOT NULL -- 老师所教的班级ID
) 插入数据:
insert into Teacher select '陈老师',
insert into Teacher select '李老师',
insert into Teacher select '王老师',
insert into Teacher select '赵老师',
3.班级表
create table Class(
[ClassID] [int] IDENTITY(,) NOT NULL, --班级ID
[Code] [varchar]() NULL, --班级编号
[ClassName] [nchar]() NULL --班级名
) 插入班级数据:
insert into Class select '','计算机3班'
insert into Class select '','计算机1班'
insert into Class select '','计算机2班'
insert into Class select '','计算机5班'
insert into Class select '','计算机4班'
4.创建存储过程
create proc proc_getStudentRecord(
@pageIndex int, --页码
@pageSize int, --每页信息数
@name nchar() output --任课老师
)
as
declare @startRow int, @endRow int
set @startRow = (@pageIndex - ) * @pageSize +
set @endRow = @startRow + @pageSize - select s.Number,s.Name,b.Code,b.ClassName from(
select *, row_number() over (order by StudentID asc) as num from Student a where exists(select from Teacher t where a.ClassID = t.ClassID and t.TeacherName = @name)
) s
join
Class as b on
b.ClassID = s.ClassID
where s.num between @startRow and @endRow; go
4.执行存储过程
exec proc_getStudentRecord ,,'陈老师'
最新文章
- 动态加载js文件
- Validform 学习笔记---代码练习
- (01背包 当容量特别大的时候) Knapsack problem (fzu 2214)
- RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
- 随手记录一个 firefox的backgroundPostion-x和-y的问题
- IOS 数组分组 Grouped NSArray
- Uploadify参数详解
- WPF DEV实现手风琴效果
- 什么是BIG?如何买BIG?
- DecimalFormat格式化十进制数字
- Java基础——枚举详解
- BatchPreparedStatementSetter,用法
- Dynamics 365—脚本
- Python 循环与定义函数
- java从txt文档读写数据
- 基于nodejs的websocket通信程序设计
- Zookeeper与Eureka的区别
- AC日记——[HNOI2008]GT考试 bzoj 1009
- 云计算与OpenStack(虚拟机Nova篇)
- 缩点+spfa最长路【bzoj】 1179: [Apio2009]Atm