create view view_person
as
select ROW_NUMBER() over(order By astrName) as ID,--想按什么排序就order By什么
astrName as strName,
convert(nvarchar(20),CardID) as nLOCardNo
from view_one as a inner join (select distinct CardID,EmpSysID from MJ_MjData)
as b on aEmpSysID=bEmpSysID
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上,反过来也是一样,要想移植,其工作量往往接近于重写。
sqlserver中 自增列 是 int 类型的。
你可以尝试 使用 数据库的自增 + 计算列 来处理。
例如
1> CREATE TABLE #test (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> my_id AS RIGHT( REPLICATE('0', 6) + Cast(id as varchar), 6),
4> val VARCHAR(10)
5> );
6> go
1> insert into #test values ('a')
2> insert into #test values ('b')
3> insert into #test values ('c')
4> go
(1 行受影响)
1> select from #test
2> go
id my_id val
----------- ------------ ----------
1 000001 a
2 000002 b
3 000003 c
(3 行受影响)
在创建表的时候可以设置,方法如下,用一下sql语句。
create table tableName(
id int identity(1,1) primary key,
data varchar(50))
解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。
扩展资料:
SQL 全名是结构化查询语言[1](Structured Query Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会(ANSI) 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
参考资料:
百科-SQL语言
以上就是关于sqlserver数据库新创建视图,增加一列自增id ,列名就为ID,小生语句在补充,求正确sql语句,谢谢全部的内容,包括:sqlserver数据库新创建视图,增加一列自增id ,列名就为ID,小生语句在补充,求正确sql语句,谢谢、我想在SQL server中使用自增序列,怎么使用、sqlserver中 怎么定义一个自增列 自增格式如000001 大家帮个忙,谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)