,以確保您不會失去任何有效的電子郵件,只保存了改變的:
CREATE TABLE ChangedEmails
(
PK ...
Email ...
)
然後修復電子郵件和保存那些變化(在一個聲明中)
UPDATE YourTable
SET Email=SUBSTRING([Email], 2, PATINDEX(‘%,%’, [Email] – 2))
OUTPUT INSERTED.PK,DELETED.Email
INTO ChangedEmails
WHERE
Email LIKE ‘」%」’
現在如果有任何疑問,您可以在更改之前查看以前的電子郵件。
此外,基於對老年退休金計劃發表評論:
這是我想出了,但我得到一個 PK違反關鍵,所以我想我需要 找到哪些行導致此。 謝謝!
請勿使PK成爲電子郵件地址!使用身份作爲PK並使電子郵件只是一個數據列。使用此「修理」你的表:
ALTER TABLE YourTable ADD YourPKID int NOT NULL IDENTITY (1, 1)
GO
ALTER TABLE YourTable DROP CONSTRAINT PK_YourTable
GO
ALTER TABLE dbo.JobApps ADD CONSTRAINT
PK_YourTable PRIMARY KEY CLUSTERED
(
YourPKID
) WITH(STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
這是我想出了,但我得到一個PK違反關鍵,所以我想我需要找到哪些行導致此。謝謝! – 2010-04-15 13:36:21