ورود

View Full Version : درج رکورد بدون تکرار



abasfar
سه شنبه 23 فروردین 1390, 00:41 صبح
سلام من کد زیر را نوشتم


insert into Twords(words,idfileurl)
(select * from dbo.Test(@Text, @p, @IDFile))



حالا Test یک فانکشن است که جدولی را برمیگردانند حالا میخوام مقادیرش وارد جدول اصلی یم بشن بدون تکرار رکورد (تعداد فیلدهای جدول یکسان و هم نوع هستند)
و میدونم کد خیلی کوچک وراحتی است اما یادم نمیاد باید چیکار کنم
تقریبا یک هفته با sql دارم یک پروژه 24 ساعته مینویسم قاطی کردم:بوس:

pezhvakco
سه شنبه 23 فروردین 1390, 09:32 صبح
select * from dbo.Test
بهتره نام ستون ها رو بنویسید

میخوام مقادیرش وارد جدول اصلی یم بشن بدون تکرار رکورد
این بدون تکراری نبودن مربوط به کدام جدول است : Twords یا dbo.Test
اگه داده ها از dbo.Test بدست می یاد، در همون جا بررسی نمایید شرط تکراری بودن رو بر اساس ستون مورد نظر .
البته در همین کد دستور بالا هم می تونین شرط تکرای بودن رو بررسی نمایید . (DISTINCT)

محمد سلیم آبادی
چهارشنبه 24 فروردین 1390, 23:15 عصر
insert into Twords(words,idfileurl)
select * from dbo.Test(@Text, @p, @IDFile) AS D
where not exists (select 1 from Twords where words = D.words and idfileurl = D.idfileurl);

abasfar
جمعه 26 فروردین 1390, 19:04 عصر
select * from dbo.Test
بهتره نام ستون ها رو بنویسید

این بدون تکراری نبودن مربوط به کدام جدول است : Twords یا dbo.Test
اگه داده ها از dbo.Test بدست می یاد، در همون جا بررسی نمایید شرط تکراری بودن رو بر اساس ستون مورد نظر .
البته در همین کد دستور بالا هم می تونین شرط تکرای بودن رو بررسی نمایید . (DISTINCT)

ممنون دوست عزیز از جواب شما
اما راستش زیاد متوجه نشدم




insert into Twords(words,idfileurl)
select * from dbo.Test(@Text, @p, @IDFile) AS D
where not exists (select 1 from Twords where words = D.words and idfileurl = D.idfileurl);

ممنون دوست عزیز دستور شما کارم را راه انداخت

محمد سلیم آبادی
دوشنبه 29 فروردین 1390, 19:04 عصر
همچنین از تکنیک های دیگری هم میشه اینکارو کرد که من در لینک روبرو به آنها پرداختم:
http://www.30sharp.com/article/13/196/11/%d8%aa%d9%81%d8%a7%d8%b6%d9%84-%d8%af%d9%88-%d9%85%d8%ac%d9%85%d9%88%d8%b9%d9%87-%d8%af%d8%b1-sql-server.aspx