powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Re: Как связать две таблицы по одинаковым полям
5 сообщений из 30, страница 2 из 2
Re: Как связать две таблицы по одинаковым полям
    #39066396
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Re: Как связать две таблицы по одинаковым полям
    #39066422
saikle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvsaikleПроцедура возваращает, а мы её вызываем.
триггер-то не возвращает. Например, пишем триггер с позицией 1000, меняющий ваши столбцы. И все, тю-тю результатам процедуры.

saikleПросто та запись, у которой максимальный ID
в РСУБД так не делают. В общем случае MAX() не применяют вот в таких ситуациях. В других - сколько угодно.

saikleЧто триггер должен сделать то же самое, что если просто вызвать процедуру через execute procedure.
никак это не написать в триггере. уже двадцать раз сказали, что триггер только может поменять столбцы. Куда-то там вернуть он ничего не в состоянии.
Триггер ничего не возваращает. Но процедура, которую он вызывает возвращает. А она, когда вызывается в триггере не возвращает. Я не понимаю почему процедура, вызванная, в триггере не может ничего вернуть
...
Рейтинг: 0 / 0
Re: Как связать две таблицы по одинаковым полям
    #39066430
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saikle,

КУДА он вернет-то? Вы раньше программировали на каком-то языке? Например, Паскаль.
Код: pascal
1.
2.
3.
4.
5.
procedure a
var b: integer;
begin
  b:=5;
end



что вернет эта процедура? А?
...
Рейтинг: 0 / 0
Re: Как связать две таблицы по одинаковым полям
    #39066432
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saikle,

беда...

куда вернуть? Триггер штука замкнутая. В нём ты можешь:

1. Модифицировать другие таблицы
2. Отменить действие кинув исключение
3. Модифицировать текущую запись, для которой этот триггер вызван, через NEW.*
4. Послать приложению сообщение о том, что запись была изменена

Всё. Нету у триггера выходных значений. Понимаешь?

В твоём примере ты вернул результаты в локальные переменные и дальше их нигде не использовал. Любые локальные переменные теряют свою видимость когда выходят за пределы объекта в котором они объявлены.

Почитай уже что-нибудь про триггеры.
...
Рейтинг: 0 / 0
Re: Как связать две таблицы по одинаковым полям
    #39066464
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saikleНо процедура, которую он вызывает возвращает.
Процедура возвращает туда, откуда вызвана. Вызвана из приложения - возвращает приложению.
Вызвана из триггера - возвращает триггеру.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Re: Как связать две таблицы по одинаковым полям
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]