Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подтвердить транзакцию в процедуре


DelphiLexx ©   (2005-11-03 15:04:00) 

Есть хранимая процедура, которая вставляет записи по определенному условию. Но записи не вставляются в таблицу нужно как-то потдвердить транзакцию. Как это сделать?

CREATE PROCEDURE UPD_RGRSN_COEFSNT (
RAWGROUPID INTEGER,
QLT_ID INTEGER,
K1 DOUBLE PRECISION,
K2 DOUBLE PRECISION)
AS
BEGIN
IF (NOT EXISTS (SELECT rgc.RAW_GROUP_ID, rgc.QLT_ID
FROM rgrsn_coeffsnt rgc
WHERE rgc.raw_group_id =:rawgroupid AND
rgc.qlt_id =:qlt_id)) THEN BEGIN
INSERT INTO rgrsn_coeffsnt
(RAW_GROUP_ID, QLT_ID, K1, K2)
VALUES (:rawgroupid, :qlt_id, :K1, :K2);
END
ELSE BEGIN
UPDATE RGRSN_COEFFSNT
SET
K1 =:K1,
K2 =:K2
WHERE RAW_GROUP_ID =:RAWGROUPID AND
QLT_ID =:QLT_ID;
END
suspend;
END


evvcom   (2005-11-03 16:14:00) [1]


> в оракле не надо ставить двоеточие перед параметром хп

и скорее увидишь CREATE OR REPLACE PROCEDURE, и EXISTS работает только в теле SQL-запроса, и ... :)
а в MSSQL параметры на @ начинаются,
а если бы не [7], я бы тоже не знал, что это все-таки FB

Камень в аффтора: лень галочку поставить?


Val   (2005-11-03 16:05:00) [2]

>[5] Sergey_Masloff   (03.11.05 15:18)
в оракле не надо ставить двоеточие перед параметром хп :)


Desdechado   (2005-11-03 15:57:00) [3]

клиент - начало транзакции, вызов процедуры
процедура - запись данных (а нахрена SUSPEND, если данных не возвращает? А! Чтоб Sergey_Masloff, что это FB :))
клиент - подтверждение или откат транзакции


Johnmen   (2005-11-03 15:23:00) [4]

>Sergey_Masloff
>В ИнтерБейсе ;-)

>Sergey_Masloff   (03.11.05 15:18) [5]
>Тьфу блин суспенд не увидел.

:)


Sergey_Masloff   (2005-11-03 15:18:00) [5]

Тьфу блин суспенд не увидел. А то непонятно было что это за сервак - мож оракл. Там хоть обподтверждайся ;-)


Sergey_Masloff   (2005-11-03 15:17:00) [6]

Johnmen ©   (03.11.05 15:06) [1]
>Никак.
>Управление тр-ми прерогатива клиента.
В ИнтерБейсе ;-)


Johnmen   (2005-11-03 15:11:00) [7]

Можно. А причём тут транзакция?


DelphiLexx   (2005-11-03 15:07:00) [8]


> Никак.
> Управление тр-ми прерогатива клиента.

Т.е. хотитете сказать что вставить новую запись через процедуру нельзя.


Johnmen   (2005-11-03 15:06:00) [9]

Никак.
Управление тр-ми прерогатива клиента.


Наверх

Титульная страница Поиск, карта сайта Написать письмо