Найдено 38 результатов

frostyland
01 окт 2008, 07:17
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Tonal писал(а):Ежели ты такой знаток С++ шаблонов, то должен знать. как трудно, а зачастую вовсе невозможно переносить сложный шаблонный код между разными компиляторами.
Точно! Помню, окрыленный прочтением Александреску я жестко обломался на Borland-компиллерах :(
frostyland
24 сен 2008, 04:45
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Форум есть место обмена жизненным опытом программистов разного ранга в режиме реального времени, как мне кажется. примерно так, но ты пытаешься привычки, приобретенные на MS SQL, переложить на FB/IB. А это не работает. И как ты себе представляешь реализацию того, что тебе надо, непонятно. Уважаемый...
frostyland
23 сен 2008, 16:29
Форум: Проектирование БД и запросов
Тема: Подскажите технику для синхронного добавления записей
Ответы: 8
Просмотры: 5682

Re: Подскажите технику для синхронного добавления записей

Спасибо, все получилось. Мне стало ясно, что если в AFTER INSERT не получается делать присвоения типа NEW.FIELD = XXX, то это не означает, что нельзя ими пользоваться в конструкциях типа ALTER TRIGGER TR_ADD_ROLES ACTIVE AFTER INSERT POSITION 0 AS BEGIN INSERT INTO ROLES_IN_DEAL ( FK_DEAL, FK_ROLE, ...
frostyland
23 сен 2008, 15:13
Форум: Проектирование БД и запросов
Тема: Подскажите технику для синхронного добавления записей
Ответы: 8
Просмотры: 5682

Re: Подскажите технику для синхронного добавления записей

Ясно. В триггере BEFORE INSERT заполняй генератором, а в триггере AFTER INSERT только читай. Мог бы догадаться. Неясно. Я не могу заполнить в триггере BEFORE INSERT таблицу ROLES_FOR_DEAL. Триггер уже знает новый номер NEW.DEAL_NO, но я не могу его вставить в ROLES_FOR_DEAL, так как (видимо) запись...
frostyland
23 сен 2008, 15:00
Форум: Проектирование БД и запросов
Тема: Подскажите технику для синхронного добавления записей
Ответы: 8
Просмотры: 5682

Re: Подскажите технику для синхронного добавления записей

а как там особо пробовать. OLD.* не прокатывает, это только на AFTER UPDATE & AFTER DELETE. А как же NEW.* ? Так ведь AFTER INSERT. Соответственно This column cannot be updated because it is derived from an SQL function or expression.Attempted update of read-only column. Transaction rolled back.
frostyland
23 сен 2008, 14:45
Форум: Проектирование БД и запросов
Тема: Подскажите технику для синхронного добавления записей
Ответы: 8
Просмотры: 5682

Re: Подскажите технику для синхронного добавления записей

WildSery писал(а):
frostyland писал(а):В after insert невозможно получить ключ только что заинсерченной записи.
Как пробовал?
а как там особо пробовать. OLD.* не прокатывает, это только на AFTER UPDATE & AFTER DELETE.
frostyland
23 сен 2008, 14:26
Форум: Проектирование БД и запросов
Тема: Подскажите технику для синхронного добавления записей
Ответы: 8
Просмотры: 5682

Подскажите технику для синхронного добавления записей

Приветствую. Возник еще один вопрос. Есть таблицы: DEAL - СДЕЛКИ CREATE TABLE DEAL( DEAL_NO INTEGER NOT NULL, NAME DEALNAME NOT NULL, FK_DEPT_NO INTEGER ); ROLES_IN_DEAL - роли в сделке CREATE TABLE ROLES_IN_DEAL( FK_DEAL INTEGER NOT NULL, FK_ROLE INTEGER NOT NULL, FK_SOTR INTEGER, RATE DECIMAL(2,2)...
frostyland
23 сен 2008, 14:09
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

WildSery писал(а): К запросу можно добавлять фильтрующие условия точно так же, как для запроса из таблицы REPORT_INFO, для чего бы она ни использовалась.
И данные всегда будут текущие и корректны, в отличие от.
thanxxx!
frostyland
22 сен 2008, 06:03
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Но - есть грамотное использование, а есть ... Вот это - ключевая фраза, которая, как мне кажется и может служить фундаментом полезных форумов. Отсылать к документации не есть сложно, можно запустить для этих целей бота и попивать чаек. Только редко где в документации можно найти жизненные рекоменда...
frostyland
21 сен 2008, 11:44
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Не представляю, как помочь человеку, который никого не слышыт. Товарищ просто ведёт здесь дневник эволюции своих экспериментов. Почитать документацию, которую советуют -- ни за что, это же противоречит принципам эволюции кодера. На конструкцию for select, которую советовали уже два раза даже не обр...
frostyland
21 сен 2008, 09:36
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

kdv писал(а): В общем, думать надо, а не лепить.
Как правило, программы проходят определенную эволюцию в прямом соответствии с эволюцией кодеров, их пишущих.
На сегодня я не нашел другого варианта, помогающего синхронизировать записи таблиц.
frostyland
20 сен 2008, 08:36
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Ты бы прекратит хнёй заниматься, а написал лучше по-русски, чего тебе надо добиться. Я попытался прочитать твои откровения внимательно - чуть мозг не вывихнул. Больше на бред похоже, чем на код. Но укрепился в стойком подозрении, что ты делаешь совсем не то, что надо. Там вот так: Есть таблица DEAL...
frostyland
19 сен 2008, 14:45
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

В общем так. В триггере сделал вызов процедуры, а в ней уже курсор OPEN CURR_DEAL_CURSOR; WHILE (1=1) DO BEGIN FETCH CURR_DEAL_CURSOR INTO :CURR_DEAL_ID, :CURR_DEAL_SUM; IF (ROW_COUNT = 0) THEN LEAVE; CLOSE CURR_DEAL_CURSOR; Проверка на последнюю запись через SQLCODE так и не получается. Делаю через...
frostyland
19 сен 2008, 12:27
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

Вот е-мое... Голову сломал. Не работает такой синтаксис OPEN CUR1; FETCH CUR1 INTO :CURR_DEAL_ID, :CURR_DEAL_SUM; WHILE (SQLCODE = 0) DO BEGIN PDN_FOR_DEAL = :CURR_DEAL_SUM * :PDN_SUM / :ALL_DEAL_SUM; UPDATE REPORT_INFO SET PDN_SUM = :PDN_SUM, DEAL_SUM = :CURR_DEAL_SUM, DEAL_PDN = :PDN_FOR_DEAL WHER...
frostyland
19 сен 2008, 10:19
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Re: Как реализовать работу с CURSOR в триггере

http://www.ibase.ru/devinfo/updsame.htm плюс release notes, если используешь FB 2.x Вот тут я в-общем-то нарыл http://www.lnssoftware.ca/esql.htm#4.3.14.3.Fetching%20Rows%20from%20a%20Cursor|outline [ 4.3.14.3. Fetching Rows from a Cursor ] Сделал вот такую конструкцию OPEN CUR1; FETCH CUR1 INTO :I...
frostyland
19 сен 2008, 09:07
Форум: Проектирование БД и запросов
Тема: Как реализовать работу с CURSOR в триггере
Ответы: 24
Просмотры: 14985

Как реализовать работу с CURSOR в триггере

Приветствую!

В триггере на INSERT/UPDATE/DELETE необходимо изменить значения в нескольких записях.
Подскажите синтаксис пробежки по курсору, а лучше - документацию на CURSOR (сам поразбираюсь)
frostyland
15 сен 2008, 13:01
Форум: Вопросы по работе форума
Тема: Форум стал намного удобнее, красивее и приятнее!!!
Ответы: 31
Просмотры: 25148

Re: Форум стал намного удобнее, красивее и приятнее!!!

kdv писал(а): попробуйте использовать гугл или яндекс, расширенный поиск, с указанием искать только на forum.ibase.ru/phpBB3
например так
"транзакция site:forum.ibase.ru/phpBB3"
Спасибо.
frostyland
15 сен 2008, 10:36
Форум: Вопросы по работе форума
Тема: Форум стал намного удобнее, красивее и приятнее!!!
Ответы: 31
Просмотры: 25148

Re: Форум стал намного удобнее, красивее и приятнее!!!

kdv писал(а): Мне поиск включить, или как?
Ну. Поиск рулит :) Как ответы на вопросы то искать?
Или плодить дабл-топики? А перелистыванием утомишься ковыряться, не дело это...
frostyland
15 сен 2008, 09:57
Форум: Вопросы по работе форума
Тема: Форум стал намного удобнее, красивее и приятнее!!!
Ответы: 31
Просмотры: 25148

Re: Форум стал намного удобнее, красивее и приятнее!!!

Объясните мне плз. ЧТо - поиск в принципе не работает? Или надо где-то что-то включить?
frostyland
09 сен 2008, 07:53
Форум: Общие проблемы
Тема: Помогите со сложным [для меня] запросом
Ответы: 20
Просмотры: 12935

Re: Помогите со сложным [для меня] запросом

Вообще, мне сперва показалось, по таблице PDN тоже суммировать надо, а из твоего решения с удивлением увидел, что 1-к-1 связь. Или это-таки неправильно, и суммировать всё же надо? 2 записи в PDN могут быть за 1 месяц в каком-нибудь департаменте? Нет, смысл ПДН в том, что это "порог доходности напра...