Sql Server存储过程详解
存储过程--查询:
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存储过程详解的更多相关文章
- SQL Server 存储过程详解
转自:https://blog.csdn.net/younghaiqing/article/details/62884658 一. 什么是存储过程 系统存储过程是系统创建的存储过程,目的在于能够方便的 ...
- SQL SERVER分区详解(1-5)
转自: (五)SQL Server分区自动化案例 (四)SQL Server分区管理 (三)索引分区知识详解 (二)SQL Server分区创建过程 (一)SQL Se ...
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
- SQL Server知识详解
1.SET NOCOUNT ON的作用: 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息. 语法:SET NOCOUNT {ON | OFF} 详解:当SET ONCOUNT ...
- (一)SQL Server分区详解Partition(目录)
一.SQL Server分区介绍 在SQL Server中,数据库的所有表和索引都视为已分区表和索引,默认这些表和索引值包含一个分区:也就是说表或索引至少包含一个分区.SQL Server中数据是按水 ...
- SQL SERVER 数据类型详解(SQL Server 2008)
数据类型类别 SQL Server 中的数据类型归纳为下列类别: 数字类型 1.精确数字 2.近似数字 3.日期和时间 字符串类型 4.非Unicode字符串 4.Unicode字符串 5.二进制字符 ...
- Sql server 索引详解
参考资料:老K写的,http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html SQL索引在数据库优化中占有一个非常大的比例, 一个好的 ...
- SQL Server事务详解
事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除. 事务三种运行模式: ...
- SQL Server 锁详解
锁是一种防止在某对象执行动作的一个进程与已在该对象上执行的其他进行相冲突的机制.也就是说,如果有其他人在操作某个对象,那么你旧不能在该对象上进行操作.你能否执行操作取决于其他用户正在进行的操作. 通过 ...
随机推荐
- 【前端知识体系-CSS相关】Bootstrap相关知识
1.Bootstrap 的优缺点? 优点:CSS代码结构合理,现成的代码可以直接使用(响应式布局) 缺点:定制流程较为繁琐,体积大 2.如何实现响应式布局? 原理:通过media query设置不同分 ...
- 领扣(LeetCode)单词模式 个人题解
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式. 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向 ...
- 宋宝华: Linux内核编程广泛使用的前向声明(Forward Declaration)
本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 前向声明 编程定律 先强调一点:在一切可 ...
- 初探three.js光源
上一节我们简单的说了一下THREE中必要的元素.今天我们深入探讨一下各种THREE的光源. 一 基础光源 基础光源有4种1.THREE.AmbientLight(环境光源)2.THREE.PointL ...
- Linux\CentOS MySql 安装与配置
一.MySQL 简介 MySQL 是一个关系型数据库管理系统,是MySQL AB公司开发,现在属于 Oracle 旗下产品. MySQL 采用标准化语言.体积小.速度快.成本低.开源等特点使得一些中小 ...
- Android最大方法数和解决方案
转载请标明出处:http://blog.csdn.net/shensky711/article/details/52329035 本文出自: [HansChen的博客] 什么是64K限制和Linear ...
- Error : Program type already present: android.support.design.widget.CoordinatorLayout$
背景 因为公司一个app项目需要扩展,因为功能较多且较完整的流程与业务,而且和以前的业务关系不大,所以我整合到了 另外一个分包中(代号:newFunc,请注意是代号)进行依赖. 当我写完这部分业务开始 ...
- 炸裂函数explode
ateral viem 表的关联只能和explode使用 hive> select explode(info) from t_map where id=1; hive> create ta ...
- The place where I want to go
The place where I want to go It’s hard to say where I want to go most. Because there are too many pl ...
- js如何衔接css3的多个@keyframes动画?
css3特效动画,我们在编写页面中经常遇到,而且是在同一个div模块上有多个衔接的不同动画,css中,我们经常使用animation-delay (规定在动画开始之前的延迟)进行处理. 那么,下面分享 ...