View Full Version : مقدار یک فیلد از اولین رکورد پیدا شده درSP
rezaei manesh
شنبه 05 اسفند 1385, 09:15 صبح
سلام
من می خوام یه پروسیجر بنویسم که در بانک بگردد و اولین رکوردی رو با شرط خاصی پیدا کرد مقدار یکی از فیلد های اونو (id)برگردونه و من بتونم روی همون رکورد ویرایش کنم و اگه پیدا نکرد یه رکورد جدید بزنم
Kamyar.Kimiyabeigi
شنبه 05 اسفند 1385, 10:13 صبح
DECLARE @ID INT
IF EXISTS (SELECT * FROM TABLE1 WHERE ('Where Condition'))
BEGIN
SELECT TOP 1 @ID = _ID FROM TABLE1 WHERE ('Where Condition')
UPDATE TABLE1
SET FIELD1 = FIELD2
WHERE _ID = @ID
END
ELSE
BEGIN
INSERT INTO TABLE1
END
rezaei manesh
شنبه 05 اسفند 1385, 11:18 صبح
ممنون از توجه شما و کدتان درسته این مشکلم رو حل می کنه
اما فکر می کردم که برای این کار شاید نیازی نباشه 2 بار از جدول سلکت کنم
تو همون select اول مقدار رو بگیرم و اگر مثلا null بود یعنی وجود نداره و اگه نبود آی دی اونو بده و...
zerobit-ltd
شنبه 05 اسفند 1385, 12:37 عصر
declare @ID int
update Table1
set Field1 = 'AnyThing'
where ID = (select top 1 ID)
from Table1
where ID = @ID)
if @@rowcount = 0
insert into Table1
values()
rezaei manesh
شنبه 05 اسفند 1385, 14:12 عصر
این همون چیزی بود که من می خوام
با کمی تغییر در کد بالا مشکلم حل شد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.