powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не создается триггер After Update
23 сообщений из 23, страница 1 из 1
Не создается триггер After Update
    #38784588
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CREATE TABLE TB_CUSTOMERS
(
  CST_ID Varchar(50) NOT NULL,
  CST_NO Integer DEFAULT 0 NOT NULL,
  CST_CMP_NO Integer DEFAULT 0 NOT NULL,
  CST_NAME Varchar(250) DEFAULT 'Абонент',
  CST_STREET Varchar(250) DEFAULT 'Улица',
  CST_HOUSE Varchar(250) DEFAULT 'Дом',
  CST_APT Varchar(10) DEFAULT 'Кв',
  CST_GROUP Integer DEFAULT 0 NOT NULL,
  CST_TYPE Integer DEFAULT 0 NOT NULL,
  CST_CLASS Integer DEFAULT 0 NOT NULL,
  CST_STATUS Integer DEFAULT 0 NOT NULL,
  CST_MEMO Blob sub_type 1,
  CST_CREATOR Varchar(50) DEFAULT 'SYS' NOT NULL,
  CST_CREATED Timestamp DEFAULT CURRENT_TIMESTAMP,
  CST_MODIFIER Varchar(50) DEFAULT 'SYS' NOT NULL,
  CST_MODIFIED Timestamp DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (CST_ID),
  UNIQUE (CST_NO,CST_CMP_NO)
);

GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
 ON TB_CUSTOMERS TO  SYSDBA WITH GRANT OPTION;



триггер
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET TERM ^ ;

CREATE TRIGGER TR_TB_CUSTOMERS_AU FOR TB_CUSTOMERS
ACTIVE AFTER UPDATE POSITION 0
AS 
BEGIN 
    NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ 



сообщение FlameRobin

SQL Message : -151
This column cannot be updated because it is derived from an SQL function or expression.

Engine Code : 335544359
Engine Message :
attempted update of read-only column

что за чушь???
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784594
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIsk,

хочешь изменить значение поля в триггере After Update?
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784598
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДMaratIsk,

хочешь изменить значение поля в триггере After Update?

Твоюжмать... А я воспроизвел, удивился и упорно пытался выдать тригеру права на таблицу :(

Все, хватит работы на сегодня.
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784599
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineчччДMaratIsk,

хочешь изменить значение поля в триггере After Update?

Твоюжмать... А я воспроизвел, удивился и упорно пытался выдать тригеру права на таблицу :(

Все, хватит работы на сегодня.

сработало что ль?
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784601
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДMaratIsk,

хочешь изменить значение поля в триггере After Update?

ну да
мол, если изменили поставить новый штамп
где тут криминал?!
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784607
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv ?
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784620
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskчччДMaratIsk,

хочешь изменить значение поля в триггере After Update?

ну да
мол, если изменили поставить новый штамп
где тут криминал?!
В After тригерах нельзя изменять данные, только в before.
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784622
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineMaratIskпропущено...


ну да
мол, если изменили поставить новый штамп
где тут криминал?!
В After тригерах нельзя изменять данные, только в before.
Под данными имеются в виду значения полей текущей таблицы; изменения данных в других таблицах - на усмотрение программиста.
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784628
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineВ After тригерах нельзя изменять данные, только в before.
OLD нельзя изменять в любых триггерах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784634
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmiwaonlineВ After тригерах нельзя изменять данные, только в before.
OLD нельзя изменять в любых триггерах.


так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET TERM ^ ;

CREATE TRIGGER TR_TB_CUSTOMERS_BU FOR TB_CUSTOMERS
ACTIVE AFTER UPDATE POSITION 0
AS 
BEGIN 
    OLD.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^



да ни в каких вариантах не работает
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784641
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskда ни в каких вариантах не работает
Какое слово из "OLD нельзя изменять никогда нигде ни при каких обстоятельствах" ты не
понимаешь?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784653
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMaratIskда ни в каких вариантах не работает
Какое слово из "OLD нельзя изменять никогда нигде ни при каких обстоятельствах" ты не
понимаешь?..


да это просто попытки проверить разные варианты
с NEW-то не работает :(
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784657
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET TERM ^ ;

CREATE TRIGGER TR_TB_CUSTOMERS_AU FOR TB_CUSTOMERS
ACTIVE AFTER UPDATE POSITION 0
AS 
BEGIN 
    NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

[SRC PLSQL]SET TERM ; ^ 



SET TERM ^ ;

CREATE TRIGGER TR_TB_CUSTOMERS_AU FOR TB_CUSTOMERS
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ [/SRC]
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784658
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Message : -151
This column cannot be updated because it is derived from an SQL function or expression.

Engine Code : 335544359
Engine Message :
attempted update of read-only column
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784661
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET TERM ^ ;

CREATE TRIGGER TR_TB_CUSTOMERS_BU FOR TB_CUSTOMERS
ACTIVE BEFORE UPDATE POSITION 0
AS 
BEGIN 
    OLD.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ 



FlameRobin:

SQL Message : -151
This column cannot be updated because it is derived from an SQL function or expression.

Engine Code : 335544359
Engine Message :
attempted update of read-only column
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784663
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskAFTER UPDATE
"Ты у нас такой дурак по субботам али как?.." (с)

https://translate.google.ru/#en/ru/after

Поздняк метаться. Надо читать доки и книжки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784672
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался

SET TERM ^ ;

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TRIGGER TR_TB_CUSTOMERS_BU FOR TB_CUSTOMERS
ACTIVE BEFORE UPDATE POSITION 0
AS 
BEGIN 
    NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ 
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784674
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMaratIskAFTER UPDATE
"Ты у нас такой дурак по субботам али как?.." (с)

https://translate.google.ru/#en/ru/after

Поздняк метаться. Надо читать доки и книжки.


бывает :)
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784702
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskразобрался

SET TERM ^ ;

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TRIGGER TR_TB_CUSTOMERS_BU FOR TB_CUSTOMERS
ACTIVE BEFORE UPDATE POSITION 0
AS 
BEGIN 
    NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ 



для общего развития - а если клиент принесет свой CST_MODIFIED ?!
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784798
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskMaratIskразобрался

SET TERM ^ ;

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TRIGGER TR_TB_CUSTOMERS_BU FOR TB_CUSTOMERS
ACTIVE BEFORE UPDATE POSITION 0
AS 
BEGIN 
    NEW.CST_MODIFIED = CURRENT_TIMESTAMP;
END^

SET TERM ; ^ 



для общего развития - а если клиент принесет свой CST_MODIFIED ?!
Тогда он в текущем варианте триггера проигнорируется и CST_MODIFIED независимо от желаний клиента будет установлен в current_timestamp сервера.
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784847
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineMaratIskпропущено...


для общего развития - а если клиент принесет свой CST_MODIFIED ?!
Тогда он в текущем варианте триггера проигнорируется и CST_MODIFIED независимо от желаний клиента будет установлен в current_timestamp сервера.

вот это у меня вызывает сомнения - триггер-то BEFORE ?!
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784856
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIskmiwaonlineпропущено...

Тогда он в текущем варианте триггера проигнорируется и CST_MODIFIED независимо от желаний клиента будет установлен в current_timestamp сервера.

вот это у меня вызывает сомнения - триггер-то BEFORE ?!
Не сомневайся, а впрочем если есть сомнения возьми и проверь
...
Рейтинг: 0 / 0
Не создается триггер After Update
    #38784877
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7mMaratIskпропущено...


вот это у меня вызывает сомнения - триггер-то BEFORE ?!
Не сомневайся, а впрочем если есть сомнения возьми и проверь

действительно
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не создается триггер After Update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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