PDA

View Full Version : تغییر مقدار 1 به 0 در فیلد وضعیت



sam166
چهارشنبه 04 اسفند 1389, 18:03 عصر
سلام و خسته نباشید
من یک فیلد در جدولم دارم که از نوع Bit هست

میخوام زمانی که فیلد یکی از رکورد هام برابر True یا 1 شد بقیه فیلد ها به طور اتوماتیک برابر False بشند

من از طریق Sp زیر تغییر میدم ولی فقط رکورد مورد نظر تغییر میکنه


ALTER PROCEDURE UpdatePic
(
@picid nvarchar(50),
@status bit
)

AS
begin
update tbl_Pic set Status=@status where PicId=@picid
end

با تشکر

behrouzlo
چهارشنبه 04 اسفند 1389, 18:26 عصر
شاید با این مشکل شما حل بشود

ALTER PROCEDURE UpdatePic
(
@picid nvarchar(50),
@status bit
)

AS
begin
update tbl_Pic set Status=@status where PicId=@picid
if @status = 1
begin
update tbl_Pic set Status=0 where PicId <> @picid
end
end

Reza_Yarahmadi
چهارشنبه 04 اسفند 1389, 18:30 عصر
راستش من دقیقا متوجه سوالتون نشدم ولی کد زیر رو تست کنید ببینید کارتون رو راه میندازه یا نه.

If(@Status = 1)
Update tbl_Pic Set
Status = Case When PicId = @PicId Then 1
Else 0 End