SQL Server 2000不支持这样的修改,你可以先打开事件探查器,然后在企业管理器中手工修改字段的属性为自增类型,SQL Server 2000的处理机制可以在事件探查器中被捕捉。
看看ms是怎么干的吧 :)BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION CREATE TABLE dbo.Tmp_MyCustomers ( CustID int NOT NULL IDENTITY (100, 2), CompanyName nvarchar(50) NULL ) ON [PRIMARY] GO SET IDENTITY_INSERT dbo.Tmp_MyCustomers ON GO IF EXISTS(SELECT * FROM dbo.MyCustomers) EXEC('INSERT INTO dbo.Tmp_MyCustomers (CustID, CompanyName) SELECT CustID, CompanyName FROM dbo.MyCustomers (HOLDLOCK TABLOCKX)') GO SET IDENTITY_INSERT dbo.Tmp_MyCustomers OFF GO DROP TABLE dbo.MyCustomers GO EXECUTE sp_rename N'dbo.Tmp_MyCustomers', N'MyCustomers', 'OBJECT' GO ALTER TABLE dbo.MyCustomers ADD CONSTRAINT PK__MyCustomers__4316F928 PRIMARY KEY CLUSTERED ( CustID ) ON [PRIMARY]GO
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_MyCustomers
(
CustID int NOT NULL IDENTITY (100, 2),
CompanyName nvarchar(50) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_MyCustomers ON
GO
IF EXISTS(SELECT * FROM dbo.MyCustomers)
EXEC('INSERT INTO dbo.Tmp_MyCustomers (CustID, CompanyName)
SELECT CustID, CompanyName FROM dbo.MyCustomers (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_MyCustomers OFF
GO
DROP TABLE dbo.MyCustomers
GO
EXECUTE sp_rename N'dbo.Tmp_MyCustomers', N'MyCustomers', 'OBJECT'
GO
ALTER TABLE dbo.MyCustomers ADD CONSTRAINT
PK__MyCustomers__4316F928 PRIMARY KEY CLUSTERED
(
CustID
) ON [PRIMARY]GO
----------------------------------------------------------------------------------------------
确实有,但是属于< column_definition > 部分,该部分只在表中新增列的时候才允许使用。
如果这样,我现在遇到问题。
我要导数据,做的SSIS包程序来导
源数据的ID字段是自增的,这个可以不管。
目标表的ID字段也是自增的。
但是我需要把源数据的ID原原本本的放在目标表的ID字段里。就是说源数据是什么,目标表中的就是什么,必须严格的保证数据的完整性。不能有任何错误。
我在SSIS的包中添加了
SET IDENTITY_INSERT dbo.PU_Account ON
然后再执行数据导入的数据流步骤。
但是无任何效果。源数据的ID没有导到目标表中。目标表中的ID还是一样自增
郁闷死我了。
所以我只能是去修改自增字段来停止自增。
道具导完再恢复自增。。只能这样。
谁有办法可以实现呢?或者给出思路。THX。所有操作需要在SSIS中实现。
----------------------------------------------------------------------------------
哪里提供的SAMPLE代码?
我问题中贴的就是SQL SERVER HELP中的SAMPLE代码