1、SQL
目前创新互联已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站运营、企业网站设计、双牌网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Server
可以在表中直接设定某个字段为自增序列字段,来得比ORACLE容易得多,具体操作参看下图:
(当然,也可以使用建表语句或修改表的语句来实现。)
相关知识点延伸:
1、MS
SQL
没有特定的
dual
表,也没有系统级的sequence。
2、Sequence是数据库系统的特性,有的数据库实现了Sequence,有的则没有。比如Oracle、DB2、PostgreSQL数据库实现Sequence,MySQL、SQL
Server、Sybase等数据库没有Sequence。
3、但这并不表明MS
SQL或ORACLE哪一个差,只是实现的思维方式,理念上的差别。
4、正是因为这两个数据库在思维、理念上有很多的差别,所以,虽然这两个是使用得最多的大型数据库,但针对Oracle设计的中大型数据库非常难移植到MS
SQL上,反过来也是一样,要想移植,其工作量往往接近于重写。
SQL Server没有序列,对应的是标识列。
该种列具有以下三种特点:
1、列的数据类型为不带小数的数值类型
2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值
3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。
标识列的创建与修改
标识列的创建与修改,通常在企业管理器和用Transact-SQL语句都可实现,使用企业管理管理器比较简单,请参考SQL Server的联机帮助,这
里只讨论使用Transact-SQL的方法
1、创建表时指定标识列
标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。
下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
CREATE TABLE T_test
(ID int IDENTITY(1,1),
Name varchar(50)
)
--插入数据
INSERT T_test(Name) VALUES('张三');
增加属性应该是这样写的吧
ALTER TABLE cust_id ADD cust_id_seq number(9) identity(1,1)
如果你要搞sequence
CREATE SEQUENCE cust_id_seq
INCREMENT BY 1
START WITH 1
MAXVALUE 999999999
NOCYCLE;
增加的时候用cust_id_seq.nextval