Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

корректность вновь сохраненных данных   Найти похожие ветки 

 
avgur   (2004-06-10 15:29) [0]

ВЫДЕРЖКА из другого форума:
> Имеется кешированный датасет (TQuery). Открываем транзакцию методом StartTransaction компонента TDatebase. После сохранения в базу методом ApplyUpdate (компонента TQuery) запускается хранимая процедура, которая проверяет корректность вновь сохраненных данных. В определенном случае(сохранены неверные данные) процедура возвращает код ошибки - делается
откат транзакции RollBack компонента TDatebase.
Как эту процедуру организовать, подскажите ....


 
Курдль ©   (2004-06-10 15:34) [1]

Это как раз тот случай: "Я сделал одну фишку, а она не работает. В чем моя ошибка"?


 
bushmen ©   (2004-06-10 15:57) [2]

>Открываем транзакцию методом StartTransaction компонента >TDatebase. После сохранения в базу методом ApplyUpdate

По-моему, какая-то каша у Вас в голове.


 
Sandman25 ©   (2004-06-10 16:01) [3]

У процедуры должнен быть Isolation level = dirty read


 
Курдль ©   (2004-06-10 16:04) [4]


> У процедуры должнен быть Isolation level = dirty read

Зачем?


 
bushmen ©   (2004-06-10 16:14) [5]

А целиком постановку задачи можно прочитать?


 
Johnmen ©   (2004-06-10 16:16) [6]

>Как эту процедуру организовать, подскажите ....

Примерно так:
1. Получаем значения вх.параметров
2. Анализируем их на корректность.
3. В случае некорректности генерим ексепшн.
:)))


 
Соловьев ©   (2004-06-10 16:19) [7]

А почему такую логику нельзя в триггере сделать? зачем ХП?


 
Sandman25 ©   (2004-06-10 16:27) [8]

[4] Курдль ©   (10.06.04 16:04)

Пока транзакция не подтверждена, записи недоступны для обычного read commited.


 
Курдль ©   (2004-06-10 16:33) [9]


> Sandman25 ©   (10.06.04 16:27) [8]
> Пока транзакция не подтверждена, записи недоступны для обычного
> read commited.

Внутри одной транзакции все доступно.


 
Соловьев ©   (2004-06-10 16:34) [10]


> Внутри одной транзакции все доступно.

внутри какой транзакции, и кому доступны?


 
Курдль ©   (2004-06-10 16:36) [11]

Внутри одной тразнакции все изменения доступны тому, кто ее открыл(или в IB это не так?)


 
Sandman25 ©   (2004-06-10 17:01) [12]

[9] Курдль ©   (10.06.04 16:33)

Я почему-то подумал, что хранимая процедура запускается в другом соединении. Наверное, зря я так подумал. Вы правы.


 
Курдль ©   (2004-06-10 17:06) [13]

В любом случае - это лишь наши с Вами теоретические изыскания :)
Автор-то нам не шибко помогает.
Я, как и Соловьев ©   (10.06.04 16:19) [7], склонен считать, что ХП - не очень удачное место для проверки данных.
Начинать надо на клиенте, потом - средствами СУБД (ключами, индексами, констрэйнтами, потом уж триггерами).



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.035 c
6-1084020603
serg_kr
2004-05-08 16:50
2004.07.04
FTP в Delphi 8


14-1087430642
R
2004-06-17 04:04
2004.07.04
Ваше право на вашу же программу


8-1082012439
xman
2004-04-15 11:00
2004.07.04
canvas


14-1087350281
Думкин
2004-06-16 05:44
2004.07.04
С днем рождения! 16 июня


6-1083844687
Анонимщик
2004-05-06 15:58
2004.07.04
Вторичный поток, деструктор, TClientSocket





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский