Вниз
Скачать: CL | DM;

Две записи вместо одной   Найти похожие ветки 

 
Bocman ©   (2002-12-15 23:27) [0]

Доброе время суток!
Есть хранимая процедура:
CREATE PROCEDURE get_book
@user_name varchar(100),
@book_title varchar(150),
@date datetime=NULL
AS
DECLARE
@user_id bigint,
@book_id bigint

SELECT @user_id=user_id FROM tbUsers WHERE name=@user_name
SELECT @book_id=book_id FROM tbBooks WHERE title=@book_title

IF @date IS NOT NULL
INSERT tbLog (user_id, book_id, date_get) VALUES (@user_id, @book_id, @date)
ELSE
BEGIN
SET @date=GETDATE()
INSERT tbLog (user_id, book_id, date_get) VALUES (@user_id, @book_id, @date)
END

SELECT * FROM tbLog
GO


В итоге получается две одинаковые записи, а должна вставляться только одна!
Может кто-нибудь что-нибудь подскажет?


 
Snap ©   (2002-12-15 23:30) [1]

Ты сайтом не ошибся? ;)


 
Владислав ©   (2002-12-16 12:31) [2]

Ну ты "намутил" :)
Если я правильно тебя понял, тебе нужна функция ISNULL()
INSERT tbLog (user_id, book_id, date_get) VALUES (@user_id, @book_id, ISNULL(@date, GETDATE()))


 
Владислав ©   (2002-12-16 12:33) [3]

А на счет двойных записей: ты может еще что-нибудь с триггерами "намутил" ;)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
4-25136
Stainer
2002-11-19 16:47
2003.01.09
список процессов с полными путями


3-24789
Dip56245
2002-12-16 15:49
2003.01.09
BLOB поле


7-25109
AndrewK
2002-10-28 16:40
2003.01.09
Как отследить коннект?


3-24783
denick
2002-12-16 12:50
2003.01.09
Люд-д-и помогите!


6-24995
Kon2002
2002-11-07 19:13
2003.01.09
WinXP




   Наверх