Wil*_*rst 28 sql sql-server identity-column
我需要有一列作为主键,另一列是自动递增订单号字段.这可能吗?
编辑:我想我只会使用一个复合数作为订单号.不管怎么说,多谢拉.
Eug*_*ota 34
CREATE TABLE [dbo].[Foo](
[FooId] [int] IDENTITY(1,1) NOT NULL,
[BarId] [int] IDENTITY(1,1) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
回报
Msg 2744, Level 16, State 2, Line 1
Multiple identity columns specified for table 'Foo'. Only one identity column per table is allowed.
Run Code Online (Sandbox Code Playgroud)
所以,不,你不能有两个标识列.您当然可以使主键不自动递增(标识).
编辑:msdn:CREATE TABLE(Transact-SQL)和CREATE TABLE(SQL Server 2000):
每个表只能创建一个标识列.
ben*_*ich 19
如果使用SQL Server 2012,则可以将序列用于具有默认值的第二列
--Create the Test schema
CREATE SCHEMA Test ;
GO
-- Create a sequence
CREATE SEQUENCE Test.SORT_ID_seq
START WITH 1
INCREMENT BY 1 ;
GO
-- Create a table
CREATE TABLE Test.Foo
(PK_ID int IDENTITY (1,1) PRIMARY KEY,
SORT_ID int not null DEFAULT (NEXT VALUE FOR Test.SORT_ID_seq));
GO
INSERT INTO Test.Foo VALUES ( DEFAULT )
INSERT INTO Test.Foo VALUES ( DEFAULT )
INSERT INTO Test.Foo VALUES ( DEFAULT )
SELECT * FROM Test.Foo
-- Cleanup
--DROP TABLE Test.Foo
--DROP SEQUENCE Test.SORT_ID_seq
--DROP SCHEMA Test
Run Code Online (Sandbox Code Playgroud)
http://technet.microsoft.com/en-us/library/ff878058.aspx
归档时间: |
|
查看次数: |
50682 次 |
最近记录: |