Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

Ничего не понимю... 


NewComer   (2001-12-19 16:46) [0]

Помогите мне!
у меня есть SP которая просто вставлет строку в таблицу, дык вот.. когда в первый раз ее вызываешь.. она не срабатывает..
чем это может быть вызвано?



Delirium   (2001-12-19 16:50) [1]

Может покажешь свою "SP" народу ?



NewComer   (2001-12-19 17:16) [2]

Блин... стыдно показывать то.. ну да ладно.

СREATE PROCEDURE operdAdd @inDecn varchar(30),@inNomerTar int, @inSHVIDRAB smallint, @inVRED float, @inCEH smallint, @inEd_izm int, @inNTIME float, @inOpOper varchar(255)
AS
declare @MaxNumber int

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRANSACTION

set nocount on

SELECT @MaxNumber = isnull(MAX(NOMOPER), 0) FROM Operd

insert into OperD(NOMOPER, Decn, NomerTar, SHVIDRAB, VRED, CEH, Ed_izm, NTIME, OpOper)
values(@MaxNumber + 1,@inDecn ,@inNomerTar , @inSHVIDRAB , @inVRED , @inCEH , @inEd_izm , @inNTIME , @inOpOper)

/*raiserror("Message from proceduru", 16, 1)*/

commit TRANSACTION

SET TRANSACTION ISOLATION LEVEL READ COMMITTED



Mick   (2001-12-19 17:32) [3]

А "SERIALIZABLE" здесь только для того, чтобы никто другой не получил тот же "MaxNumber"?
Некрасиво это.



NewComer   (2001-12-19 17:40) [4]

to Mick
да, "SERIALIZABLE" только для ентого. Почему? менять структуру таблицы я не имею права, поэтому не могу его сделать даже Identity. Не знаю... может получать идентификатор с помошью рандома.. и если ошибка при втавке, то его менять.. где то я слышал про такой метод.. но не в этом проблемма, даже если полностью убрать строки, устанавливающие уровень изоляции.. ничего не измениться...



NewComer   (2001-12-20 12:01) [5]

Ну дык.. неужели не найдется ни одной светлой головы дабы помочь мне в этом вопросе?



knyaz17   (2001-12-20 12:46) [6]

Что пишет когда ругается?
И попробуй запустить INSERT в Query Analyzer с
теми же значениями, что ты передаешь в SP. Там пройдет всё нормально?



AISOFT   (2001-12-21 13:22) [7]

@MaxNumber=SELECT MAX(NOMOPER) FROM Operd
if @MaxNumber is null set @MaxNumber=0




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.032 c
7-75689           AKV                   2001-10-03 15:34  2002.01.24  
Виртуальный принтер?


3-75476           rey_wagner            2001-12-19 17:40  2002.01.24  
Вопрос про DBGrid??


7-75694           aleXXoft              2001-10-11 12:54  2002.01.24  
PC-speaker & SoundBlaster


6-75638           Di_wind               2001-11-03 14:56  2002.01.24  
пережача файлов по сети


1-75554           Анатолий              2002-01-06 06:20  2002.01.24  
Цвет ячейки StringGrid