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 不受限于特定的作用域。

猜你喜欢

转载自www.cnblogs.com/DataBase-123/p/12340023.html