Форум: "Базы";
Поиск по всему сайту: 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.72 MB
Время: 0.018 c
1-75552           Satrap                2001-12-28 13:19  2002.01.24  
Описание классов


4-75714           lionheart             2001-11-24 10:28  2002.01.24  
hooking


3-75487           Котелок               2001-12-20 06:08  2002.01.24  
И снова BDE -((


3-75472           Дмитрий Демиденков    2001-12-18 10:39  2002.01.24  
Как прописать источник данных ODBC программно?


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