随笔分类 -  SQL Server

挽救数据库性能的30条黄金法则
摘要:还不知道如何提升数据库的性能吗?你的数据库系统允许缓慢吗?优化数据库系统有什么具体方法呢?想知道详情,请点击这里学习,别忘了分享哦! 阅读全文

posted @ 2020-05-25 10:13 银河使者 阅读(1472) 评论(4) 推荐(6) 编辑

在SQL Server2005/2008中对记录进行分组,并获得每组前N条记录
摘要:有一个表,三个字段:km、kh和cj。其中km为科目号、kh为考生号、cj为成绩,现对km和kh进行分组,并获得每组前2条记录(按cj从高到低排序)。基本思想是为每组加一个序号列,再用where取序号小于等于20的。 阅读全文

posted @ 2009-11-03 08:41 银河使者 阅读(2705) 评论(7) 推荐(1) 编辑

SQL Server2005杂谈(5):将聚合记录集逆时针和顺时针旋转90度(行列互换)
摘要:有时我们需要将聚合结果进行旋转,也就是说将要聚合的字段值作为字段名,将聚合结果作为记录。这可以使用传统的方法来解决,但在SQL Server2005提供了pivot函数可以更容易地解决这个问题。同时,还可以使用unpivot函数进行逆项的操作。 阅读全文

posted @ 2009-02-21 15:13 银河使者 阅读(2806) 评论(5) 推荐(0) 编辑

SQL Server2005杂谈(3):四个排名函数(row_number、rank、dense_rank和ntile)的比较
摘要:本文介绍了SQL Server2005提供的四个排名函数(row_number、rank、dense_rank和ntile),其中row_number函数最常用,可以使用这个函数实现web分页功能。rank和dense_rank函数可以处理字段重复值问题。而ntile函数用于对记录进行分组处理。 阅读全文

posted @ 2009-02-05 20:26 银河使者 阅读(8259) 评论(12) 推荐(1) 编辑

SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用
摘要:CTE不仅可以简化嵌套SQL语句,还可以方便地实现递归调用。如要查询一个部门下面的所有子部门,或某个省下面的所有市和行政区,只需要一个CTE就可以查出来。当然,如果不使用CTE,实现这个是比较麻烦的,如果只想用SQL实现,需要使用到游标等技术。 阅读全文

posted @ 2009-02-01 23:50 银河使者 阅读(4977) 评论(3) 推荐(4) 编辑

SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL
摘要:在SQL Server中可以直接在SQL语句中嵌套其他的SQL语句,但当嵌套层次太多时,会使SQL语句难以理解和维护,而如果使用表变量(临时表)又会增加 I/O开销。为了解决这个问题,在SQL Server2005中提供了CTE。使用CTE可以使被嵌套的SQL模块化,从而大大增加了SQL语句的可读性,同时又不会增加太多的I/O开锁。 阅读全文

posted @ 2009-01-31 14:43 银河使者 阅读(7593) 评论(13) 推荐(4) 编辑

SQL Server 2005服务无法启动的解决方法
摘要:今天想使用一下SQL Server 2005,启动SQL Server Management Studio后,发现连不了数据库了,看了下SQL Server的服务,竟然是停止状态,启动它,但无法启动,但看日志后,发现了这样的志信息:“C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。” 阅读全文

posted @ 2009-01-20 22:46 银河使者 阅读(2046) 评论(0) 推荐(0) 编辑

妙用SQL Server聚合函数和子查询迭代求和
摘要:本文介绍了如何通过SQL Server的sum聚合函数和多层子查询来进行迭代求和,并在最后给出了通过建立函数的方式来简化迭代求和的SQL语句。 阅读全文

posted @ 2008-09-02 13:03 银河使者 阅读(14662) 评论(10) 推荐(0) 编辑

用Session和唯一索引字段实现通用Web分页功能
摘要:本文介绍了一种通过Web系统中的Session对象和数据表的唯一索引字段来实现Web分页的方法。这种方法是通用的,适合于所有的数据库(SQL Server、Oracle、access、paradox等),并且不需要在数据库中建立任何资源(如存储过程、视图等)。需要的唯一条件就是表中要有一个唯一索引字段。 阅读全文

posted @ 2008-08-23 17:59 银河使者 阅读(3121) 评论(14) 推荐(0) 编辑

SQL Server2005杂谈(4):按列连接字符串的三种方法
摘要:本文介绍了按列连接一个字符串的三种方法,其中一种方法是使用CLR(在本例中使用C#)来实现SQL Server2005的扩展聚合函数的方式来实现。这种方式更加灵活,但在实现上也更加复杂。如果能很好地掌握它,就可以实现非常“酷”的功能! 阅读全文

posted @ 2008-06-25 13:01 银河使者 阅读(9232) 评论(16) 推荐(0) 编辑

使用Transact-SQL进行数据导入导出方法详解
摘要:本文讨论了如何通过Transact-SQL以及系统函数OPENDATASOURCE和OPENROWSET在同构和异构数据库之间进行数据的导入导出,并给出了详细的例子以供参考。 阅读全文

posted @ 2008-05-21 10:17 银河使者 阅读(5508) 评论(15) 推荐(1) 编辑

如何快速生成100万不重复的8位随机编号?
摘要:假设我要在10000000 - 99999999之间产生100万个不重复的随机数。可以建立一个表table1,这个表有两个字段,一个是所产生的随机数字段(int型),另外一个也是int型字段。 阅读全文

posted @ 2008-05-11 09:21 银河使者 阅读(4969) 评论(3) 推荐(0) 编辑

在SQL Server2005中进行错误捕捉
摘要:任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外。如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如 c#、delphi等)中使用类似try...catch的语句进行捕捉;另外一种就是在Transact-SQL中利用Transact-SQL本身提供的错误捕捉机制进行捕捉。如果是因为Transact-SQL语句的执行而产生的错误,如键值冲突,使用第一种和第二种方法都可以捕捉,但是如果是逻辑错误,使用客户端代码进行捕捉就不太方便。因此,本文就如何使用Transact-SQL进行错误捕捉进行了讨论。 阅读全文

posted @ 2008-05-09 20:38 银河使者 阅读(1626) 评论(4) 推荐(0) 编辑

导航