SQL Server 2005 实用例子
2008-03-30 15:58
411 查看
获取最后插入的一条记录:scope_indentity()
scope_indentity() 返回插入到同一作用域中(存储过程,.......)的indentity列内的最后一个indentity值
declare @dt table
( _id int identity(1,1),
_name char(10)
)
insert into @dt (_name) values('scottxu')
insert into @dt (_name) values('psg')
insert into @dt (_name) values('nanfangxiaogui')
select * from @dt where _id=scope_identity()
结果:
3 nanfangxiaogui
高性能分页:ROW_NUMBER()
以下示例将返回行号为
USE AdventureWorks;
GO
WITH OrderedOrders AS
(SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (order by OrderDate)as RowNumber
FROM Sales.SalesOrderHeader )
SELECT *
FROM OrderedOrders
WHERE RowNumber between 50 and 60;
高效获取记录数:sysindexes
select rows from sysindexes where id = object_id('tablename') and indid in (0,1)
scope_indentity() 返回插入到同一作用域中(存储过程,.......)的indentity列内的最后一个indentity值
declare @dt table
( _id int identity(1,1),
_name char(10)
)
insert into @dt (_name) values('scottxu')
insert into @dt (_name) values('psg')
insert into @dt (_name) values('nanfangxiaogui')
select * from @dt where _id=scope_identity()
结果:
3 nanfangxiaogui
高性能分页:ROW_NUMBER()
以下示例将返回行号为
50到
60(含)的行,并以
OrderDate排序。
USE AdventureWorks;
GO
WITH OrderedOrders AS
(SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (order by OrderDate)as RowNumber
FROM Sales.SalesOrderHeader )
SELECT *
FROM OrderedOrders
WHERE RowNumber between 50 and 60;
高效获取记录数:sysindexes
select rows from sysindexes where id = object_id('tablename') and indid in (0,1)
相关文章推荐
- [转]SQL Server的几'点'
- sql部分重复删除
- 巧用事务操作数据库
- 在C#中运用SQLDMO备份和恢复SQLServer数据库
- sql
- BI系统中 关于oracle表空间的规划方法
- 关于回滚,mysql
- .net用工厂模式开发多数据库连接类
- .net单引号而引起Sql语句溢出
- 在MySQL中关于auto字段的处理
- 网页教程:XML技巧五则
- oracle创建表空间并授予用户权限
- 数据库文件恢复技术
- 提高J2EE层与数据库层交互操作能力的优势
- [导入]使用coalesce和nullif的组合来减轻写sql的工作量
- 【转】精妙SQL语句整理
- 使用coalesce和nullif的组合来减轻写sql的工作量
- 【转】在SQL Server中通过SQL语句实现分页查询
- 【转】Net 分页实现系列之二基于sql语句分页的方式
- 【转】常见数据库分页SQL语句