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 今天的故事,让我们从上面这个图 ...
随机推荐
- dg
package excel; import java.util.Scanner; public class doExcel { public static void main(String args[ ...
- SecureCRT中文乱码解决已设置UTF-8
查看服务器编码 查看linux的编码,修改为自己需要的,本文将已UTF-8为例进行说明.修改Linux服务器的配置文件:[root@iitshare ~]# vi /etc/sysconfig/i18 ...
- AJAX请求 $.post方法的使用
使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求.$.post方法是jQuery的实用工具方法. $.post方法语法 $.post(url,parameters,call ...
- ios label上显示特殊字符 % "
今天在label上显示一个拼接的百分比 label.text = [NSString stringWithFormater:@"%d%",i]; 结果后面的%就是报错,然后查半天也 ...
- jQuery Ajax传递数组到asp.net web api参数为空
前端: var files = []; files.push({ FileName: "1.jgp", Extension: ".jgp", FileType: ...
- html导入css样式的方法
在html网页中引入css样式表主要有一下四种方法 1.行内引入 <p style="width:100px;height:40px;color:red;"></ ...
- Spring ioc容器
一.ioc容器 ioc (inversion of control)即控制反转,把某一个接口选择实现类的控制权转移给Spring容器来管理.调用类对该实现类的依赖关系由ioc容器注入(DI),传统的 ...
- asp.net下AjaxMethod的使用方法
使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法, 做一些JS无法做到的操作,如查询数据库 使用AjaxMethod要满足一下几点: 1.如果还没 ...
- 不一样的角度 解读微信小程序
不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...
- row_number和partition by分组取top数据
分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生.这种查询在SQL Server 2005之前,写起来很繁琐,需要用到临时表关联查询才能取到.SQL Serve ...