Sql Servicer 复习笔记(1) 存储过程分布
第一步:创建表
declare @countInt int
declare @age int
set @age =20
set @countInt=1
while(@countInt<10000)
begin insert into student([sName],[sAge],[sAddress])values('彭'+ convert(nvarchar(30),@countInt),
@age,'中国北京') set @countInt=@countInt+1;
set @age=@age+1;
if(@age>=50)
begin
set @age=25;
end end GO
drop table student
select * from student
第二步:创建存储过程
ALTER PROC [dbo].[SuperPage]
(
/*传入参数*/
@TableName nvarchar(20),
@TableField nvarchar(2000), --未用
@OrderBy nvarchar(200),
@OrderByType int,
@TableID nvarchar(200),
@StrWhere nvarchar(2000), --未用
@TaoltCount int,
@PageSize int,
@CurrPage int,
@returnVal int output
)
AS
DECLARE @ProcStrSQLCOUNT nvarchar(4000)
DECLARE @ProcOrderBy nvarchar(200)
DECLARE @returnCount int
DECLARE @TranPageSuper nvarchar(50)
IF(@OrderByType!=1)
BEGIN
SET @ProcOrderBy=' Order By '+@OrderBy+ ' DESC ';
END
ELSE
BEGIN
SET @ProcOrderBy=' Order By '+@OrderBy+ ' ASC ';
END SELECT @TranPageSuper='MyTransaction' /*总条数*/
SET @ProcStrSQLCOUNT = 'SELECT @returnCount=Count(1) FROM '+@TableName;
BEGIN TRAN @TranPageSuper
execute sp_executesql @ProcStrSQLCOUNT,N'@returnCount int out',@returnCount out SET @returnCount=(@returnCount-1)/@PageSize+1
print @returnCount
exec('
SELECT TOP '+@PageSize+' *
FROM '+@TableName+'
WHERE ('+@TableID+' NOT IN
(SELECT TOP ('+@PageSize+'*'+@CurrPage+') '+@TableID+'
FROM ' +@TableName + ' '+ @ProcOrderBy+')) '
+@ProcOrderBy)
/*页数*/
SET @returnVal = @returnCount
COMMIT TRAN @TranPageSuper --ROLLBACK TRAN @TranPageSuper
第三步:执行
DECLARE @return_value int,
@returnVal int SELECT @returnVal = EXEC @return_value = [dbo].[SuperPage]
@TableName = N'Student',
@TableField = N'*',
@OrderBy = N'sID',
@OrderByType = ,
@TableID = N'sID',
@StrWhere = NULL,
@TaoltCount = ,
@PageSize = ,
@CurrPage = ,
@returnVal = @returnVal OUTPUT SELECT @returnVal as N'@returnVal' SELECT 'Return Value' = @return_value GO
Sql Servicer 复习笔记(1) 存储过程分布的更多相关文章
- sql server 复习笔记1
查询数据库是否存在: if DB_ID("testDB")is not null; 检查表是否存在: if OBJECT_ID(“textDB”,“U”) is not null ...
- sql server 复习笔记2
主键约束 可以通过定义primary key 约束来定义主键, 用于强制表的实体化完整性,一个表只能有一个主键约束, 并且primary key 约束中的列不能为空值,由于primary key 约束 ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- SQL 基础语法笔记教程整理
最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...
- 资料整理,SQL Server ,面试前复习笔记
T-SQL 要掌握的知识点分类 SQL 面向数据库执行查询 SQL 从数据库取回数据 SQL 在数据库中插入新的记录 SQL 更新数据库中的数据 SQL 从数据库删除记录 SQL 创建新数据库 SQL ...
- SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器
SQL Server -- 回忆笔记(五):T-SQL编程,系统变量,事务,游标,触发器 1. T-SQL编程 (1)声明变量 declare @age int (2)为变量赋值 (3)while循环 ...
- 斜率优化DP复习笔记
前言 复习笔记2nd. Warning:鉴于摆渡车是普及组题目,本文的难度定位在普及+至省选-. 参照洛谷的题目难度评分(不过感觉部分有虚高,提高组建议全部掌握,普及组可以选择性阅读.) 引用部分(如 ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
随机推荐
- xcode的类库报错,如何解决
首先看一下自己报错的原因,是当前UIkit框架还是别的,然后按住Command+shift+G 把"/Applications/Xcode.app/Contents/Developer/Pl ...
- ZOJ 1442 Dinner Is Ready 容斥原理 + java大数
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=442 求解 x1 + x2 + x3 + .... + xn = m 其中xi属 ...
- FusionCharts制作报表使用XML导入数据时出现的中文乱码问题
今天在使用FusionCharts制作报表时用XML导入数据,总是出现乱码问题,下面是我的解决方案. 让FusionCharts支持中文 刚刚将XML导入到html中后,在火狐浏览器一直报Invali ...
- 检查项目里是否有IDFA的方法
检查项目里是否有IDFA的方法: 步骤:1.打开终端cd到要检查的文件的根目录. 2.执行下列语句:grep -r advertisingIdentifier . (别少了最后那个点号). 发现有ma ...
- <转> Lua使用心得(2)
在lua脚本调用中,如果我们碰到一种不好的脚本,例如: do do end 那我们的程序主线程也会被阻塞住.那我们如何防止这种问题呢?下面就给出一个解决的办法. 首先为了不阻塞主线程,那我们就要开一个 ...
- Java基础知识系列——Exception
异常在编程中使用频率非常非常的高,在Java中异常的基类是Exception. 下面就介绍一下Java中的异常: 1.结构 try{ //捕获try里的异常 }catch( Exception e){ ...
- python "yield"(转载)
转载地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ 您可能听说过,带有 yield 的函数在 Python ...
- Java--使用多线程下载,断点续传技术原理(RandomAccessFile)
一.基础知识 1.什么是线程?什么是进程?它们之间的关系? 可以参考之前的一篇文章:java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器 简 ...
- webstorm11怎么设置成sublime3的界面
引入架包导入即可 下载路径:https://github.com/OtaK/jetbrains-monokai-sublime
- 我 && yii2 (路由优化)
今天配置了一下yii2 的路由,用 /index.php?r=... 这样的路由,实在是不太习惯,所以我便试着把yii2 的路由,写成laravel 那般,以下为详情 1.环境介绍 lnmp php5 ...