![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Две записи вместо одной [D5, MSSQL]
Bocman © (2002-12-15 23:27:00)Доброе время суток!
Есть хранимая процедура:
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
В итоге получается две одинаковые записи, а должна вставляться только одна!
Может кто-нибудь что-нибудь подскажет?
Владислав (2002-12-16 12:33:00) [1]А на счет двойных записей: ты может еще что-нибудь с триггерами "намутил" ;)
Владислав (2002-12-16 12:31:00) [2]Ну ты "намутил" :)
Если я правильно тебя понял, тебе нужна функция ISNULL()
INSERT tbLog (user_id, book_id, date_get) VALUES (@user_id, @book_id, ISNULL(@date, GETDATE()))
Snap (2002-12-15 23:30:00) [3]Ты сайтом не ошибся? ;)