SQLServer------存储过程的使用
转载:
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 ,,'陈老师'
SQLServer------存储过程的使用的更多相关文章
- 解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)
解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-sourc ...
- Sqlserver 存储过程中结合事务的代码
Sqlserver 存储过程中结合事务的代码 --方式一 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ ...
- SqlServer存储过程学习笔记(增删改查)
* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...
- SQLServer 存储过程嵌套事务处理
原文:SQLServer 存储过程嵌套事务处理 某个存储过程可能被单独调用,也可能由其他存储过程嵌套调用,则可能会发生嵌套事务的情形. 下面是一种解决存储过程嵌套调用的通用代码,在不能确定存储过程是否 ...
- 创建并在项目中调用SQLSERVER存储过程的简单示例
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...
- SQLSERVER存储过程语法详解
CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ...
- SqlServer存储过程详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
- sqlServer存储过程与sql语句的区别
sqlServer 存储过程与sql语句的区别 sql存储过程与sql语句的区别: 从以下几个方面考虑: 1.编写: 存储过程:编写比较难: sql语句:相对简单: 2.性能: 存储过程:高,可移 ...
- SqlServer存储过程(增删改查)
* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...
- SQLSERVER存储过程的基本语法实例
SQLSERVER存储过程的基本语法实例 SQLSERVER存储过程的基本语法实例 一.定义变量--简单赋值 declare @a intset @a=5 print @a --使用select语句赋 ...
随机推荐
- 用C++画光(三)——色散
写在前面 源码:https://github.com/bajdcc/GameFramework/blob/master/CCGameFramework/base/pe2d/Render2DScene5 ...
- cocos2d-x 3.0点击响应
迄今为止,发现cocos2d-x 3.0最让人惊艳的地方就是更改了点击事件机制.(ps:迄今只看了点击事件这块,捂嘴笑~~~) cocos2d-x 2.0 只有CCLayer有点击事件处理,需要注册, ...
- 20个angularjs开发工具
AngularJS是那些渴望以动态方式来设计web app的web开发人员最偏爱的框架之一.如果你是一个希望启动AngularJS项目的开发人员,那么你可能需要帮助来挑选出趁手的工具…… 在Value ...
- sqlserver中sp_executesql使用实例(获取动态sql输出结果)
语法 sp_executesql [ @stmt = ] stmt [ {, [@params=] N'@parameter_name data_type [ [ OUT [ PUT ][,. ...
- 用Python写一个猜数字游戏
2015.5.25第一天下载Python IDLE,写个猜数字的小游戏来熟悉这门语言: times=6 letters=[100] for i in range(1,times): a = input ...
- ios开发中,xib加载view,loadNibNamed方法奔溃原因之一
xib中某一属性在代码中已删除,但在xib中没有解除关联
- VBA 删除页
怎么让word自动删除第3.6.9.12等3的倍数页‘ Sub kk1206190933() Dim wNum As Integer Dim wPag As Integer With Selectio ...
- 如何打一手好Log
如果项目上过线的话,那你一定知道Log是多么重要. 为什么说Log重要呢?因为上线项目不允许你调试,你只能通过Log来分析问题.这时打一手好Log的重要性绝不亚于写一手好代码.项目出问题时,你要能拿出 ...
- Translating between qplot and base graphics
Translating between qplot and base graphics Description There are two types of graphics functions in ...
- 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句
MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...