نوشته شده توسط
FastCode
سادهترین راه:
یک نسخه از دیتابیس فعلی:
ستون مورد تظر رو IDENTITY کن.
Save
Identity رو بردار.
از toolbar گزینه Generate Change Script رو بزن.
/*
Copy
Alt+F4
Alt+F4
No
Notepad
Paste
*/
کد شما آمادست. :)
سلام FastCode جان.
ممنون از راهنماییت خیلی خیلی مفید بود کاش میشد به جای یک بار تشکر ، چند بار کلید تشکر رو زد.
من اینکارو کردم و ظاهرا این کار باعث میشه یک جدول temp تولید بشه و تمامه رکوردهای جدول اصلی ریخته میشه توی جدول temp و جدول اصلی حذف میشه و بعد نام جدول temp به نام جدول اصلی تغییر میکنه.
این تقریبا همون چیزیه که جناب آقای صادقی گفتند اما با یه راه میان بر.
کدی که برای من تولید کرد این بود :
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
GO
CREATE TABLE dbo.Tmp_tblPaymentsCustomers
(
ID bigint NOT NULL,
Customer# bigint NOT NULL,
ReceivedAmount bigint NOT NULL,
Date smalldatetime NOT NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.tblPaymentsCustomers)
EXEC('INSERT INTO dbo.Tmp_tblPaymentsCustomers (ID, Customer#, ReceivedAmount, Date)
SELECT ID, Customer#, ReceivedAmount, Date FROM dbo.tblPaymentsCustomers WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.tblPaymentsCustomers
GO
EXECUTE sp_rename N'dbo.Tmp_tblPaymentsCustomers', N'tblPaymentsCustomers', 'OBJECT'
GO
ALTER TABLE dbo.tblPaymentsCustomers ADD CONSTRAINT
PK_tblPayments PRIMARY KEY CLUSTERED
(
ID
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
COMMIT
هم از جناب FastCode عزیز هم از جناب صادقی عزیز ممنونم.