Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在没有标识列的表之间复制数据_Sql Server_Tsql - Fatal编程技术网

Sql server 在没有标识列的表之间复制数据

Sql server 在没有标识列的表之间复制数据,sql-server,tsql,Sql Server,Tsql,我有两个表,需要将数据从SRCServiceUsers复制到客户端 每次运行时,我都会得到以下信息: 违反主键约束 “PK_客户”。无法插入重复项 输入对象“dbo.Clients”。这个 声明已终止。这个 主键ClientId字段不是 标识列,因此需要 填充物 到目前为止,我有以下几点 insert into Clients(ClientID, Title, Forenames, FamilyName, [Address], Town, County,

我有两个表,需要将数据从SRCServiceUsers复制到客户端

每次运行时,我都会得到以下信息:

违反主键约束 “PK_客户”。无法插入重复项 输入对象“dbo.Clients”。这个 声明已终止。这个 主键ClientId字段不是 标识列,因此需要 填充物

到目前为止,我有以下几点

insert into Clients(ClientID, Title, Forenames, FamilyName,
                    [Address], Town, County, PostCode,
                    PhoneNumber, StartDate)
    SELECT (Select Max(Clients.ClientID)+ 1,
            SRCServiceUsers.Title,
            SRCServiceUsers.[First Names],
            SRCServiceUsers.Surname,
            --BUILD UP MUITIPLE COLUMNS
            SRCServiceUsers.[Property Name] + ', ' + SRCServiceUsers.Street + ', ' 
               +  SRCServiceUsers.Suburb as [Address],
            SRCServiceUsers.Town,
            SRCServiceUsers.County,
            SRCServiceUsers.Postcode,
            SRCServiceUsers.Telephone,
            SRCServiceUsers.[Start Date]
    FROM 
       srcsERVICEuSERS
插入数据时,如何自动递增PK字段-CLientID

非常感谢


Andrew

如果您只需要任意递增的数字,
ClientID
为什么不是一个标识列?
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

BEGIN TRANSACTION

DECLARE @MaxClientId INT

SELECT @MaxClientId = MAX(ClientID) /*SERIALIZABLE will prevent any inserts above this*/
FROM Clients

INSERT INTO Clients(....)
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 0)) + @MaxClientId...
FROM srcsERVICEuSERS

COMMIT