oracle rowid 不能比较,SQLSERVER 中有没有类似ORACLE的ROWID的东西(100分)

那就用identity

CREATE TABLE new_employees

(

id_num int IDENTITY(1,1),

fname varchar (20),

.........

)

IDENTITY(属性)

在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。

说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。

语法

IDENTITY [ ( seed , increment ) ]

参数

seed

装载到表中的第一个行所使用的值。

increment

增量值,该值被添加到前一个已装载的行的标识值上。

必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。

注释

如果在经常进行删除操作的表中存在着标识列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用 IDENTITY 属性。但是,为了确保未产生差距,或者为了弥补现有的差距,在用 SET IDENTITY_INSERT ON 显式地输入标识值之前,请先对现有的标识值进行计算。

如果重新使用已删除的标识值,那么请使用示例 B 中的示例代码进行检查,以获得下一个可用的标识值。请用您的表名、标识列数据类型以及(该数据类型的)最大可允许值的数值 –1 替换 tablename、column_type 和 max(column_type) – 1。

使用 DBCC CHECKIDENT 检查当前的标识值,并将其与标识列中的最大值进行比较。

当将 IDENTITY 属性与 CREATE TABLE 一起使用时,Microsoft® SQL Server™ 使用 CREATE TABLE 的 NOT FOR REPLICATION 选项替代标识列的自动增加。通常,SQL Server 给插入表中的每个新行指派一个值,该值比前面的最高值要大出某些增量。但是,如果新行是由另一个数据源复制过来的,那么标识值必须保持与其在数据源中完全相同。

示例

A. 将 IDENTITY 属性与 CREATE TABLE 一起使用

下面的示例创建一个新表,该表将 IDENTITY 属性用于获得自动增加的标识号。

USE pubs

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_NAME = 'new_employees')

DROP TABLE new_employees

GO

CREATE TABLE new_employees

(

id_num int IDENTITY(1,1),

fname varchar (20),

minit char(1),

lname varchar(30)

)

另外, sql server 中可以用top

select top 10 * from table1 可以获得前 10 条记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值