寻找一些帮助,因为这个SQL对我来说是新的。我被要求将数据从一个表复制到另一个用于计费应用程序的表。为此,我只使用SELECT INTO语句复制整个表。应用程序现在拒绝将新记录插入到我复制的表中。我正在使用SQL Server 2008,并建议它与Identity列有关,但不确定。如上所述,这对我来说都是新的。任何帮助或建议从哪里开始将是非常棒的。先感谢您。
我复制的表看起来像......
InsuranceID int IDENTITY,
Insurance_ID varchar(20),
Insurance_Name varchar(100),
Address varchar(100),
..等等。
这是用于将新记录插入表中的存储过程。
Insert Into tblInsuranceCompanies
(Insurance_ID,
InsuranceName,
InsuranceTypeID,
Telephone,
Extension,
Fax,
Address,
City,
State,
Zip_Code)
Values
(@InsuranceID,
@Name,
@TypeID,
@Telephone,
@Extension,
@Fax,
@Address,
@City,
@State,
@Zip)
SELECT @@IDENTITY AS InsuranceID
答案 0 :(得分:1)
首先我认为这是一个Identity_Insert问题,我建议这样做: 在尝试插入数据之前,您可以使用SET IDENTITY_INSERT产品
像这样:SET IDENTITY_INSERT products ON
GO
INSERT INTO YOUR_TABLE
SELETC * FROM TempTable
GO
SET IDENTITY_INSERT products OFF
GO
但是在注意到选择列表中没有Identity列之后,并且因为所有列定义都是NOT NULL,我猜你要插入的值之一是null,这导致错误。