Форум: "Базы";
Поиск по всему сайту: 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.021 c
3-75479           SkyR                  2001-12-20 08:41  2002.01.24  
Такая проблема с IB...


3-75506           sasa_ch               2001-12-20 13:02  2002.01.24  
как вытащить из таблицы?


3-75507           kserg@ukr.net         2001-12-14 12:12  2002.01.24  
Как в MSSQL через INSERT вставить поле DATE


3-75515           _Mihail_              2001-12-18 10:32  2002.01.24  
DBGrid


3-75508           Sergey Karagodin      2001-12-21 10:46  2002.01.24  
Размер поля SQL7+ ADOQuery