转载:

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 ,,'陈老师'

最新文章

  1. 动态加载js文件
  2. Validform 学习笔记---代码练习
  3. (01背包 当容量特别大的时候) Knapsack problem (fzu 2214)
  4. RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
  5. 随手记录一个 firefox的backgroundPostion-x和-y的问题
  6. IOS 数组分组 Grouped NSArray
  7. Uploadify参数详解
  8. WPF DEV实现手风琴效果
  9. 什么是BIG?如何买BIG?
  10. DecimalFormat格式化十进制数字
  11. Java基础——枚举详解
  12. BatchPreparedStatementSetter,用法
  13. Dynamics 365—脚本
  14. Python 循环与定义函数
  15. java从txt文档读写数据
  16. 基于nodejs的websocket通信程序设计
  17. Zookeeper与Eureka的区别
  18. AC日记——[HNOI2008]GT考试 bzoj 1009
  19. 云计算与OpenStack(虚拟机Nova篇)
  20. 缩点+spfa最长路【bzoj】 1179: [Apio2009]Atm

热门文章

  1. C++面向对象程序设计的一些知识点(4)
  2. js队列的实现问题
  3. MFC文档(SDI)应用:画图程序(画圆、画线、鼠标事件)
  4. 【Unity笔记】经典的鼠标点击射线检测碰撞
  5. Hibernate- 子查询
  6. ggplot饼图
  7. Java打印整数的二进制表示(代码与解析)
  8. Linux中显示一个文件最后几行的命令
  9. Oracle中的job的定时任务
  10. 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中