T-SQL 中获取错误信息
摘要:在 Transact-SQL 中两种获取错误信息的方式 (1)在 TRY...CATCH 构造的 CATCH 块的作用域内,使用以下系统函数: ERROR_LINE(),返回出现错误的行号。 ERROR_MESSAGE(),返回将返回给应用程序的消息文本。该文本包括为所有可替换参数提供的值,如长度、对象名或时间。 ...
阅读全文
posted @
2009-11-23 16:25
o(∩_∩)o...
阅读(2604)
推荐(0)
SQL中的变量
摘要:变量 局部变量是可以保存单个特定类型数据值的对象,变量的作用域从声明变量的地方开始到声明变量的批处理或存储过程的结尾。 局部变量使用DECLARE语句定义,并且指定变量的数据类型,然后可以使用SET或SELECT语句为变量初始化;局部变量必须以“@”开头,而且必须先声明后使用。 声明格式: DECLARE @变量名 变量类型[,@变量名 变量类型…] (1)变量名必须以 at 符 (@) 开头 (2)变量类型可以是任何系统提供的公共语言运行时 (CLR) 用户定义类型或别名数据类型。变量不能是 text、ntext 或 image 数据类型。 (3)要声明多个局部变量...
阅读全文
posted @
2009-11-17 16:31
o(∩_∩)o...
阅读(7117)
推荐(0)
SQL 控制流程
摘要:Transact-SQL 提供了(BEGIN...END、BREAK、GOTO、CONTINUE、IF...ELSE、WHILE、RETURN、WAITFOR)控制流关键字,用于控制 Transact-SQL 语句、语句块、用户定义函数以及存储过程的执行流。 不使用控制流语言,则各 Transact-SQL 语句按其出现的顺序分别执行。控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和相互依存。 当控制流语句不能跨多个批处理、用户定义函数或存储过程。 一、 BEGIN...END BEGIN 和 END 语句用于将多个 Transact-SQL 语句组合为一个逻辑块(即相当于...
阅读全文
posted @
2009-11-17 15:18
o(∩_∩)o...
阅读(392)
推荐(0)
用公共表达式 实现递归查询
摘要:公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。 递归查询通常用于返回分层数据(即遍历树结构) 递归 CTE 的结构(MSDN) 递归 CTE 由下列三个元素组成: 例程的调用。 递归 CTE 的第一个调用包括一个或多个由 UNION ALL、UNION、EXCEPT 或 INTERSECT 运算符联接的 CTE_query_definitions。由于这些查询定义形成了 CTE 结构的基准结果集,所以它们被称为“定位点成员”。 ...
阅读全文
posted @
2009-11-16 11:44
o(∩_∩)o...
阅读(1159)
推荐(0)
Windows 7 自动播放墙纸
摘要:(1)桌面鼠标右键-> 个性化->桌面背景 (2) 选择喜欢的图片打勾 (3)->更改图片时间间隔 (4)-> 保存修改
阅读全文
posted @
2009-11-13 11:59
o(∩_∩)o...
阅读(227)
推荐(0)
使用公用表表达式
摘要:公用表表达式(CTE)是SQL Server 2005中提供的一种新的解决方案。 公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。 CET 作用: (1)公用表表达式 (CTE) 能够引用其自身,从而创建递归 CTE。 (2)在不需要常规使用视图时替换视图,也就是说,不必将定义存储在元数据中。 (3)启用按从标量嵌套 sel...
阅读全文
posted @
2009-11-13 11:48
o(∩_∩)o...
阅读(298)
推荐(0)
COMPUTE 和 COMPUTE BY
摘要:GROUP BY子句返回的结果集中只有合计数据,而没有原始的详细记录。COMPTE生成合计作为附加的汇总列出现在结果集的最后。当与BY一起使用时,COMPUTE 子句在结果集内生成控制中断和分类汇总。 compute by 的规则: (1)不能将distinct与行统计函数一起使用 (2)compute by 中列出的列必须出现在选择列表中 (3)不能在含有compute by 子句的语句中使用select into 子句,因为包括compute 子句的语句会产生不规则的行。 (4)compute 用了 by子句,则必须使用order by , 且compute by中的列必须是...
阅读全文
posted @
2009-11-12 17:39
o(∩_∩)o...
阅读(520)
推荐(0)
GROUPING 用法
摘要:GROUPING是一个聚合函数,用在含有CUBE 或 ROLLUP 语句的SQL语句中,当结果集中的数据行是由CUBE 或 ROLLUP 运算产生的(添加的)则该函数返回1,否则返回0。 语法: GROUPING ( column_name ) 其中 column_name 是用在CUBE 或 ROLLUP 运算的列 或group by 后的列。 注意: (1)只有使用了CUBE 或 ROLLUP 运算符的SQL中才能使用GROUPING (2)GROUPING 后面的列 名可以是CUBE 或 ROLLUP 运算符中使用的列名,也可以是group by 中的列名 举...
阅读全文
posted @
2009-11-12 15:02
o(∩_∩)o...
阅读(4129)
推荐(0)
SQL 中ROLLUP 用法
摘要:ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 ROLLUP 优点: (1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代码的复杂性。 (2)ROLLUP 可以在服务器游标中使用,而 COMPUTE BY 则不可以。 (3)有时,查询优化器为 ROLLUP 生...
阅读全文
posted @
2009-11-12 10:13
o(∩_∩)o...
阅读(34412)
推荐(3)
SQL中CUBE 用法
摘要:CUBE 运算符生成的结果集是多维数据集。多维数据集是事实数据(即记录个别事件的数据)的扩展。扩展是基于用户要分析的列建立的。这些列称为维度。多维数据集是结果集,其中包含各维度的所有可能组合的交叉表格。 CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定。该语句的选择列表包含维度列和聚合函数表达式。GROUP BY 指定了维度列和关键字 WITH CUBE。结果集包含维度列中各值的所有可能组合,以及与这些维度值组合相匹配的基础行中的聚合值。 cube将返回的更多的可能组合。如果在 group by 子句中有n个列或者是有n个表达式的话,sqlserver在结果集上会返回..
阅读全文
posted @
2009-11-11 17:29
o(∩_∩)o...
阅读(15735)
推荐(0)
SQL中 EXCEPT、INTERSECT用法
摘要:EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。 INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)。 UNION返回两个结果集的并集。 语法: { () } { EXCEPT | INTERSECT } { ( )} 限制条件 (1)所有查询中的列数和列的顺序必须相同。 (2)比较的两个查询结果集中的列数据类型可以不同但必须兼容。 (3)比较的两个查询结果集中不能包含不可比较的数据类型(xml、text、ntext、image 或非二进制 CLR 用户定义类型)的列。 (4)返回的结果...
阅读全文
posted @
2009-11-11 17:05
o(∩_∩)o...
阅读(58575)
推荐(5)
SQL联接查询 总结
摘要:联接分类 内部联接(典型的联接运算,使用类似于 = 或 的比较运算符)。内部联接包括同等联接和自然联接。 内部联接通过比较相等的值的字段(被连接的表所共同拥有的),将匹配的行作为结果集(即将两个表都满足条件的记录作为结果集)。 A:内连接是SQLServer默认的连接方式,可以把INNER JOIN简写成JOIN B:连接的条件中不要指定空值,因为空值和其他值都不会相等 外部联接 外部联接可以是左向外部联接、右向外部联接或完整外部联接。 外部联接会返回 FROM 子句中提到的至少一个表或视图中的所有行,只要这些行...
阅读全文
posted @
2009-11-11 14:23
o(∩_∩)o...
阅读(562)
推荐(0)
子查询 总结
摘要:子查询是一个嵌套在 SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。 子查询类型 (1)使用别名。 (2)使用 IN 或 NOT IN。 (3)在 UPDATE、DELETE 和 INSERT 语句中。 (4)使用比较运算符。 (5)使用 ANY、SOME 或 ALL。 (6)使用 EXISTS 或 NOT EXISTS。 (7)代替表达式。 (1)在通过 IN 或由 ANY 或 ALL 修改的比较运算符引入的列表上操作。 (2)通过未修改的比较运算...
阅读全文
posted @
2009-11-11 10:57
o(∩_∩)o...
阅读(458)
推荐(0)
SQL 数据类型转换 总结
摘要:1、数据类型转换: (1)两种转换场合: A:当两个结果集之间的数据进行比较或联和(union)的时候,如果两个结果集的数据类型不同时必须进行转换。 B:将Transact-SQL 得结果集返回给程序中的变量时,须将结果集的类型从SQL Server数据类型转换为变量的数据类型。 (2)两种转换方式: A:自动进行的隐性转换(对于用户是不可见的)。 如:一个 smallint 变量和 int 变量比较时,将smallint 变量在比较前被隐性转换成 int 变量。 B:用户提供的显式转换(使用 CAST 或 CONVERT 函数进行显式转换)。 2、...
阅读全文
posted @
2009-11-10 17:05
o(∩_∩)o...
阅读(843)
推荐(0)
SQL Union用法总结
摘要:UNION 运算符将多个 SELECT 语句的结果组合成一个结果集。 (1)使用 UNION 须满足以下条件: A:所有查询中必须具有相同的结构(即查询中的的列数和列的顺序必须相同)。 B:对应列的数据类型可以不同但是必须兼容(所谓的兼容是指两种类型之间可以进行隐式转换,不能进行隐式转换则报错)。也可以用显式转换为相同的数据类型。 (当数据类型不同时,则根据数据类型优先级规则确定所产生的数据类型。如果类型相同,但精度、小数位数或长度不同,则根据用于合并表达式的相同规则来确定结果)(参照MSDN:数据类型优先级) C:如果为XML数据类型则列必须等价(所有列都必须类型化为 XML 架构...
阅读全文
posted @
2009-11-10 15:34
o(∩_∩)o...
阅读(791)
推荐(0)