存储过程--查询:

if (exists (select * from sys.objects where name = 'GetUser')) drop proc GetUser   --判断存储过程是否存在,存在则删除然后重建。
go
create proc GetUser --创建存储过程 GetUser
@Id int --参数
as
set nocount on; --不返回计数,提高应用程序性能
begin --开始
select * from [dbo].[User] where Id=@Id --执行sql语句
end;--结束

调用存储过程

EXEC GetUser 1;

执行结果

存储过程--修改:

if (exists (select * from sys.objects where name = 'UpdateUser')) drop proc UpdateUser   --判断存储过程是否存在,存在则删除然后重建。
go
create proc UpdateUser --创建存储过程 GetUser
@Id int, --参数
@Name varchar(255),--参数
@Sex int, --参数
@Age int, --参数
@Birthday date --参数
as
set nocount on; --不返回计数,提高应用程序性能
begin --开始
UPDATE [dbo].[UserInfo] SET [Name]=@Name,[Sex]=@Sex, [Age]=@Age,[Birthday]=@Birthday WHERE ([Id]=@Id) --执行sql语句
end;--结束

调用存储过程:

EXEC UpdateUser 1,'赵大1',2,222,'1994-07-16 11:36:27';

执行结果:

存储过程分页

if (exists (select * from sys.objects where name = 'Page_UserInfo')) drop proc Page_UserInfo   --判断存储过程是否存在,存在则删除然后重建。
go
create proc Page_UserInfo --创建存储过程
@name nvarchar(255),--用户名
@pageindex int,--第几页
@pagesize int--一页多少条
as
set nocount on; --不返回计数,提高应用程序性能
begin --开始
declare @pagebefore int;--创建页数
declare @pagerear int;--创建页数
declare @condition nvarchar(2000); --创建where条件
set @pagebefore=@pagesize*@pageindex; --起始页
set @pagerear=@pagebefore+@pagesize;--结束页
set @condition=' where 1=1 ';
if(@name<>'')
set @condition=@condition+' and name like ''%'+@name+'%''';
--创建一个虚拟表插入UserInfo表数据
--获取分页数据
--获取总数
exec('
declare @table table(
iid int identity,
Id int,
Name nvarchar(20),
Sex int,
Age int,
Birthday datetime
)
insert @table
select * from UserInfo '+@condition+' order by Id desc
select * from @table where iid>'+@pagebefore+' and iid<='+@pagerear+'
select count(*) as rows from @table;');
end;--结束

调用方式:

EXEC Page_UserInfo  '' ,1,10

调用结果:

Sql Server存储过程详解的更多相关文章

  1. SQL Server 存储过程详解

    转自:https://blog.csdn.net/younghaiqing/article/details/62884658 一. 什么是存储过程 系统存储过程是系统创建的存储过程,目的在于能够方便的 ...

  2. SQL SERVER分区详解(1-5)

    转自: (五)SQL Server分区自动化案例     (四)SQL Server分区管理     (三)索引分区知识详解     (二)SQL Server分区创建过程     (一)SQL Se ...

  3. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  4. SQL Server知识详解

    1.SET NOCOUNT ON的作用: 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息. 语法:SET NOCOUNT {ON | OFF} 详解:当SET ONCOUNT ...

  5. (一)SQL Server分区详解Partition(目录)

    一.SQL Server分区介绍 在SQL Server中,数据库的所有表和索引都视为已分区表和索引,默认这些表和索引值包含一个分区:也就是说表或索引至少包含一个分区.SQL Server中数据是按水 ...

  6. SQL SERVER 数据类型详解(SQL Server 2008)

    数据类型类别 SQL Server 中的数据类型归纳为下列类别: 数字类型 1.精确数字 2.近似数字 3.日期和时间 字符串类型 4.非Unicode字符串 4.Unicode字符串 5.二进制字符 ...

  7. Sql server 索引详解

    参考资料:老K写的,http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引在数据库优化中占有一个非常大的比例, 一个好的 ...

  8. SQL Server事务详解

    事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式:  ...

  9. SQL Server 锁详解

    锁是一种防止在某对象执行动作的一个进程与已在该对象上执行的其他进行相冲突的机制.也就是说,如果有其他人在操作某个对象,那么你旧不能在该对象上进行操作.你能否执行操作取决于其他用户正在进行的操作. 通过 ...

随机推荐

  1. 利用Xshell配置ssh免密码登录虚拟机,进行虚拟机与物理机的传输

    先说一下 Xshell如何无密连接虚拟机: ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux的方法.使用 ...

  2. nyoj 10 skiing (DFS)

    skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  3. shell命令管道未读完阻塞了子进程,与等待其结束的父进程死"锁"。

    在exec执行一个子进程,我们希望使用管道取得子进程在重定向后的标准输出上的结果,同时等待子进程的结束.那么是等待子进程结束后才取管道数据,还是边取数据边等待子进程结束呢? 这里有一个调试的例子.u0 ...

  4. 实现 Redis 协议解析器

    本文是 <用 Golang 实现一个 Redis>系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有所了解可以直接阅读协议解析器部分. Redis ...

  5. MySQL 备份数据那点事

    mysqldump 什么是 mysqldump ? mysqldump 是 MySQL 用于执行逻辑备份的一款工具,可以根据原始数据库对象以及表的定义和数据来生成一系列可以被执行的 SQL 语句. 通 ...

  6. Java基础知识总结之多线程

    1.基本概念 进程是程序的一次动态执行过程,是系统进行资源分配和调度运行的基本单位. 线程是进程的一个实体,它是比进程更小的的能够独立运行的基本单位.在引入线程的操作系统中,通常都是把进程作为分配资源 ...

  7. 新闻实时分析系统 Spark2.X集群运行模式

    1.几种运行模式介绍 Spark几种运行模式: 1)Local 2)Standalone 3)Yarn 4)Mesos 下载IDEA并安装,可以百度一下免费文档. 2.spark Standalone ...

  8. 【Luogu 3275】[SCOI2011]糖果

    Luogu P3275 显然是一道经典的差分约束系统 相关知识可以查看:[Luogu 1993]差分约束系统问题--小K的农场 值得注意的是这题使用最长路更合适,因为每一个人都要取得至少一个糖果.在添 ...

  9. day20191106

    笔记: 一.#{}和${}的区别是什么 1)#{}是预编译处理,${}是字符串替换.2)Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 ...

  10. vue下谷歌浏览器的扩展程序(vue-devtools-master)

    1,在百度网盘中下载压缩包,网盘地址:https://pan.baidu.com/s/1BnwWHANHNyJzG3Krpy7S8A ,密码:xm6s 2,将压缩包解压到F盘,F:\chromeVue ...