![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подтвердить транзакцию в процедуре
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]Никак.
Управление тр-ми прерогатива клиента.