SQL SERVER 分页查询 和 Inser 添加并返回Id

Posted Jevon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 分页查询 和 Inser 添加并返回Id相关的知识,希望对你有一定的参考价值。

--第一种分页 
SELECT *
 FROM (
  select ROW_NUMBER() over(order by id) as rows,* from [dbo].[M_User]
 --WHERE Id>1  
  ) AS T where rows BETWEEN 0 AND 2

--第二种分页 需SQL SERVER 2012以上支持
select * from [M_Role]
order by Id  
offset 0 rows
fetch next 10 rows only ;
--执行Inser Into 并返回 Id

/* 返回为任何会话和任何作用域中的特定表最后生成的标识值。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。*/
--返回为任何会话和作用域中的特定表所生成的值。
SELECT IDENT_CURRENT(‘dbo.M_Role‘) AS ‘dbo.M_Role Max Id‘;

 

--返回为当前会话和当前作用域中的任何表最后生成的标识值
select SCOPE_IDENTITY() as id


INSERT INTO [TABLE_NAME] VALUES (*,*,*);SELECTSCOPE_IDENTITY() as id;
IDENT_CURRENT :返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。

@@IDENTITY: 返回为当前会话的所有作用域中的任何表最后生成的标识值。

SCOPE_IDENTITY :返回为当前会话和当前作用域中的任何表最后生成的标识值

SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。

 

以上是关于SQL SERVER 分页查询 和 Inser 添加并返回Id的主要内容,如果未能解决你的问题,请参考以下文章

Oracle, SQL Server, My SQL如何实现数据分页查询语句

MySQLOracle和SQL Server的分页查询语句

带有分页和计数的 SQL Server 查询

SQL server2005上千万条数据分页查询怎么做优化?

SQL Server查询时添加一列连续的自增列

sqlserver分页去重失效