بعد از انجام این عملیات لازم است تا جدول مورد نظر رو به صورت زیر اصلاح کنیم تا دیگر نتوان در آن رکورد های تکراری درج نمود.
ابتدا* طبق فیلم رکورد های تکراری رو مشاهده میکنیم.
کد:
کد:
with cte1 *as (
SELECT * , ROW_NUMBER() OVER (PARTITION BY id, firstName , lastName *ORDER BY id ) AS RowID
* * * * * FROM tblExample
* * * * * * * * )
* * * select * from cte1
* * * where RowID >1
لازم به ذکر است که سه فیلد id, firstName , lastName* از جدول مثال* tblExample هستند و*شما بایستی از*نام فیلدها و نام جدول خودتون استفاده کنید.
*
وبا تعویض*کد به صورت زیر آنها را حذف می کنیم.
کد:
کد:
with cte1 *as (
SELECT * , ROW_NUMBER() OVER (PARTITION BY id, firstName , lastName *ORDER BY id ) AS RowID
* * * * * FROM tblExample
* * * * * * * * )
* * * delete from cte1
* * * where RowID >1
تا اینجا توانستیم رکوردهای تکراری رو به کلی حذف نماییم.
در مرحله ی بعد بایستی* رکوردهایی رو پیدا کنیم که در آنها* مقادیر NULL* وجود دارد و*خصوصا فیلد کلید در آنها با مقدار NULL است.
کد:
کد:
select * from tblExample
where [id] is null
*حال اگر*رکوردها به اشتباه مقادیر Null دارند آنها را تصحیح می کنیم.
**این پروسه بایستی برای تمامی فیلدهایی که قرار است از آنها در primary key استفاده کنیم تکرار شود*و اگر رکوردها به صورت اشتباه درج شده با دستور زیر آنها را به صورت کلی حذف نماییم.
**
کد:
کد:
delete from tblExample
where [id] is null
******
در اینجا نوبت به مرحله ی بعدی*و نهایی میرسد که *تمامی تنظیمات انجام شده و جدول نرمال می شود.
در این مثال ما قرار است 3 فیلد id, firstName , lastName** را* primary key جدول tblExample* قرار بدهیم.
مرحله ی اول :
کد:
کد:
ALTER TABLE tblExample *
alter COLUMN [id] char(8) not null
مرحله ی دوم* :
کد:
کد:
ALTER TABLE tblExample*
alter COLUMN [firstName] nvarchar(12) not null
مرحله ی سوم :
کد:
کد:
ALTER TABLE tblExample *
alter COLUMN [lastName] nvarchar(12) not null
*مرحله ی چهارم و نهایی :
کد:
کد:
ALTER TABLE tblExample *
ADD CONSTRAINT pk_tblExampleId PRIMARY KEY (id,firstName,lastName)
***********
امید*است این آموزش مورد تایید واقع شده باشد.
علاقه مندي ها (Bookmarks)