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 今天的故事,让我们从上面这个图 ...
随机推荐
- Facade(外观)-对象结构型模式
1.意图 为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 2.动机 将一个系统划分成若干子系统有利于降低系统的复杂性.一个常见的设计目 ...
- uva 11082
题意:知道矩阵的前i行之和,和前j列之和(任意i和j都可以).求这个矩阵.每个格子中的元素必须在1~20之间.矩阵大小上限20*20 #include<cstdio> #include&l ...
- oracle java SE
http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Android学习---SQLite数据库的增删改查和事务(transaction)调用
上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...
- Git查看、删除、重命名远程分支和tag(转)
转:http://zengrong.net/post/1746.htm 这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程 ...
- [刘阳Java]_MyBatis_映射文件的resultMap标签入门_第4讲
<resultMap>:用于解决实体类中属性和表字段名不相同的问题 id:表示当前<resultMap>标签的唯一标识 result:定义表字段和实体类属性的对应关系 prop ...
- pycharm5新版注册
##注册方法1### 0x1 ,安装 0x2 , 调整时间到2038年. 0x3 ,申请30天试用 0x4, 退出pycharm 0x5, 时间调整回来. ##注册方法2### 注册方法: 在 注册时 ...
- lnode满,维护记录
df 17% 正常 df -i 100% inode耗尽. | uniq -c 查出占用lnode最大的目录是 /var/spool/exim4/input 居然有15W多个小文件 exim4是邮件 ...
- Jquery div展开收缩
<html> <meta http-equiv="Content-Type" content="text/html; charset=gb2312&qu ...
- 使用Axis2 插件 报错"An error occurred while completing process -java.lang.reflect.InvocationTargetException"
参考 http://blog.csdn.net/sunitjy/article/details/6793654