随笔 - 312, 文章 - 14, 评论 - 1393, 引用 - 0
数据加载中……

SQL Server

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

posted @ 2009-10-31 21:08 银河使者 阅读(2551) | 评论 (1)  编辑

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

posted @ 2009-02-21 15:38 银河使者 阅读(1847) | 评论 (3)  编辑

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:21 银河使者 阅读(7047) | 评论 (2)  编辑

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

posted @ 2009-02-01 23:42 银河使者 阅读(2641) | 评论 (0)  编辑

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:40 银河使者 阅读(4955) | 评论 (3)  编辑

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:39 银河使者 阅读(20524) | 评论 (0)  编辑

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

posted @ 2008-09-02 12:53 银河使者 阅读(2295) | 评论 (3)  编辑

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

posted @ 2008-08-23 17:55 银河使者 阅读(2555) | 评论 (7)  编辑

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

posted @ 2008-06-25 13:16 银河使者 阅读(2831) | 评论 (3)  编辑

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

posted @ 2008-05-21 10:02 银河使者 阅读(2602) | 评论 (0)  编辑

SQL Server各种导入导出数据方式的比较
     摘要: 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具bcp处理数据;使用数据转换服务(DTS)对数据进行处理。这三种方法各有其特点,下面就它们的主要特点进行比较。   阅读全文

posted @ 2008-05-14 12:22 银河使者 阅读(4015) | 评论 (2)  编辑

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

posted @ 2008-05-09 09:57 银河使者 阅读(1347) | 评论 (0)  编辑