cyberhedgehog

导航

2008年4月30日

Sql Server2005对t-sql的增强之top

摘要: 在sql server2000中我们如果需要使用存储过程指定参数取前n条记录时,我们不得不在存储过程中拼sql,然后exec拼接的sql字符串,这样导致存储过程每次执行都需要预编译sql语句;使存储过程的预编译功能无效了。 而在sql server2005中,对top语句进行了增强我们可以这样写: SELECT TOP @cn * FROM tableName cols where 0 = 0 甚... 阅读全文

posted @ 2008-04-30 17:27 HedgeHog 阅读(143) 评论(0) 推荐(0) 编辑

Sql Server2005对t-sql的增强之通用表表达式CTE

摘要: CTE是Common Table Expression的简写,翻译成中文就是通用表表达式,它可以在select,insert或者update中使用。 为了说明问题,我们先随便建张表,插入几条数据: if object_id('t','U') is not null --用object_id函数判断表是否在数据库中存在很简洁 drop table t; GO create table t(c1 in... 阅读全文

posted @ 2008-04-30 17:17 HedgeHog 阅读(169) 评论(0) 推荐(0) 编辑

Sql Server2005对t-sql的增强之Cross Apply

摘要: Cross Apply使表可以和表值函数结果进行join,在下面的示例中建了两个表和一个表值函数,T_b的列a_ids中会存放a表的id用,分割的字符串连接;我们通过cross apply使T_a,T_b表通过splitIDs inner join 连接。请看示例:GO if object_id('T_a','U') is not null drop table T_a GO CREATE TAB... 阅读全文

posted @ 2008-04-30 17:17 HedgeHog 阅读(226) 评论(0) 推荐(0) 编辑