sqlserver的一些小知识点
1.高效分页sql和储存过程
select top 每页条数 *
from
(
select ROW_NUMBER() over (order by id)as nid ,* from table01
) as a
where a.nid>(每页条数*(当前页数-1))
储存过程
if(exists(select * from sys.procedures where name='proc_MyPage'))
drop proc proc_MyPage
go
Create proc proc_MyPage
(
@PageSize int,
@CurrentPage int
)
as
select top (@PageSize) *
from
(
select ROW_NUMBER()over(order by id) as nId ,* from table1
)as a
where nId>((@PageSize)*((@CurrentPage)-1)
2.临时表
不创建临时表,直接向表中插入带自增Id的数据
select id=IDENTITY(int,1,1) ,* into #tempTb from table1--向临时表中插入table1的所以的数据,并有自增id
if OBJECT_ID('tempdb..#tempTb') is not null --判断临时表是否存在
Begin
truncate table #Tmp
drop table #tempTb --删除临时表#tempTb
End
3.视图
创建视图
create view v_table01 as
select * from table01 --直接写sql即可
DROP VIEW v_table01 --删除视图
4.触发器
两张表calsses和student,向表calass表中插入数据,触发器先表student插入数据
插入表(instered表)和删除表(deleted表)。这两张是逻辑表也是虚表。有系统在内存中创建者两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。
if(OBJECT_ID('tgr_Classes_Insert','tr') is not null)
drop trigger tgr_Classes_Insert
go
create trigger tgr_Classes_Insert
on Classes
for insert --插入触发
as
declare @id int,@Cname varchar(20),@stuNo int
select @id=id,@Cname=calssName, from inserted;--inserted表的机构和Classes(被触发应用的表)的表的结构相同
set @Cname=@Cname+CONVERT(nvarchar,@id);
set @stuNo=@id/2;
insert into student values(@id,'',@stuNo,18+@id,@Cname);
print '添加成功!';
go
insert into Classes values(2,'二班',8,8094) --插入数据触发触发器
--查询两张表的情况,查询结构如下图
select * from Classes select * from student

sqlserver的一些小知识点的更多相关文章
- 刚接触Linux,菜鸟必备的小知识点(一)
身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...
- Java学习过程中的总结的小知识点(长期更新)
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...
- 【转】HTML5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...
- AngularJS的小知识点
小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...
- js中关于value的一个小知识点(value既是属性也是变量)
今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...
- html5的小知识点小集合
html5的小知识点小集合 html5知识 1. Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...
- [BS] 小知识点总结-05
[BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...
- 一个关于echo的小知识点
一个关于echo的小知识点 echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...
- easyui中的combobox小知识点~~
一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...
随机推荐
- 对js原型对象的拓展和原型对象的重指向的区别的研究
我写了如下两段代码: function Person(){} var p1 = new Person(); Person.prototype = { constructor: Person, name ...
- js模块化开发——require.js学习总结
1.为什么使用require.js 作为命名空间: 作为命名空间使用: 异步加载js,避免阻塞,提高性能: js通过require加载,不必写很多script 2.require.js的加载 requ ...
- JSP中使用Taglib
http://blog.163.com/jany_1016/blog/static/4604400620091112114127341/ http://blog.csdn.net/yuebinghao ...
- Spring内部bean无法通过id获取
内部Bean注入正常,但是直接在context中getBean是得不到的: <?xml version="1.0" encoding="UTF-8"?&g ...
- Treeview显示磁盘下的文件,并且可操作
#region TreeView树形显示磁盘下文件夹 /// <summary> /// IconIndexs类 对应ImageList中5张图片的序列 /// </summary& ...
- Qt Quick编程(1)——QML的核心部分ECMAScript
说道QML,不得不先说一下ECMAScript: ECMAScript语言的标准是由Netscape.Sun.微软.Borland等公司基于JavaScript和JScript锤炼.定义出来的. EC ...
- css 绝对居中
我是一个前端的菜鸟,对于绝对居中前几天也困惑了我不少时间,今天我就把我知道的两个方法写出来,希望能记住也希望帮助到和我一样刚接触前端不久的同学. 第一种是 你需要居中的元素有固定的宽高: 首先给他的父 ...
- office如何去除多页签
写文档会遇到同时打开多个文档,偶尔可能需要对比,而有时office会出现跟浏览器类似的多页签界面.如何去除多页签,office本身没有此加载项,一般都是作为插件或组件形式另外安装,导致我们不知道从哪里 ...
- opp(Object Oriented Programming)
嗯,昨天忙了一天没来及发,过年啊,打扫啊,什么搽窗户啊,拖地啊,整理柜子啊,什么乱七八糟的都有,就是一个字,忙. 好了,废话也不多说,把自己学到的放上来吧.嗯,说什么好呢,就说原型链啊 原型对象 每个 ...
- [转载] A successful Git branching model/GIT分支管理是一门艺术
转载自:http://www.cnblogs.com/baiyw/p/3303125.html 英文原文:http://www.nvie.com/posts/a-successful-git-bran ...