Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / проблема с INSERT INTO SELECT / 16 сообщений из 16, страница 1 из 1
25.09.2020, 13:00
    #40002501
MarinaVinograd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Доброго времени суток!
Хочу чтобы триггер, по добавлению в табличку записи USERS, писал в другую табличку USERSPWDHSHHISTORY следующие поля
Код: sql
1.
2.
3.
4.
5.
   id,
	USERID, 
	 FIO, 
	 PWDHASH, 
	 ATTIME



Соответственно USERID, FIO, PWDHASH нужно взять из таблицы USERS

Вопроса два

Как правильно пользоваться генератором в триггере, для создание первичного ключа таблицы USERSPWDHSHHISTORY?
Как вставить ATTIME (CURRENT_TIMESTAMP) в конcтрукции INSERT INTO...SELECT... после всех значений, то есть наверное правильное использование VALUES

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
ALTER TRIGGER ADDPWDHASHHISTORY ACTIVE
AFTER INSERT OR UPDATE POSITION 0
AS 
BEGIN
    
	INSERT INTO USERSPWDHASHHISTORY 
	(id,
	USERID, 
	 FIO, 
	 PWDHASH, 
	 ATTIME)
	 ??? select id, fio, pwdhash from users where id=new.ID, ??? CURRENT_TIMESTAMP;
	 END



К руководству по Firebird прошу не посылать, что касается триггеров уже почитала)
...
Рейтинг: 0 / 0
25.09.2020, 13:07
    #40002505
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
25.09.2020 13:00, MarinaVinograd пишет:
> К руководству по Firebird прошу не посылать

тогда в #$%^& сад.


зы: кто-то ещё сомневается что это тро-ло-ло?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 13:09
    #40002507
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinogradК руководству по Firebird прошу не посылать, что касается триггеров уже почитала)

Теперь придётся прочитать что касается запросов SELECT.
Заодно можно попытаться подумать зачем он вообще нужен в этом триггере.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 13:09
    #40002508
Агрох
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinograd,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
INSERT INTO USERSPWDHASHHISTORY 
	(id,
	USERID, 
	 FIO, 
	 PWDHASH, 
	 ATTIME)
	 VALUES (new.id, new.fio, new.pwdhash, CURRENT_TIMESTAMP);
...
Рейтинг: 0 / 0
25.09.2020, 13:10
    #40002509
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinograd,

не прочитала (((
не надо в триггере ON INSERT делать INSERT в свою же таблицу. Для этого существует контекст NEW.*
...
Рейтинг: 0 / 0
25.09.2020, 13:13
    #40002510
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Симонов Денис,

упс, она не в свою инсерт делает. Не надо было так триггер непонятно называть.

GEN_ID(gen, 1) и NEXT VALUE FOR gen можно писать и внутри select запроса, но оно здесь не требуется
...
Рейтинг: 0 / 0
25.09.2020, 13:17
    #40002514
MarinaVinograd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Dimitry Sibiryakov,
Select нужен чтобы забрать новое значение из одной таблички и записать в другую
...
Рейтинг: 0 / 0
25.09.2020, 13:20
    #40002516
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinogradSelect нужен чтобы забрать новое значение из одной таблички

Для этого обычно вешают триггер именно на ту табличку, где это новое значение появляется.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 13:26
    #40002519
MarinaVinograd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Dimitry Sibiryakov, я так и делаю. Триггер повешен на табличку USERS и при инсёрте в USERS нужно чтобы писалось в USERSPWDHSHHISTORY
...
Рейтинг: 0 / 0
25.09.2020, 13:27
    #40002521
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinograd> К руководству по Firebird прошу не посылать,
MarinaVinograd> что касается триггеров уже почитала)

Там же можно почитать и про конструкции Insert, Select
и про выражения/функции. Потому что вопросы уровня
примеров из документации.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 13:30
    #40002522
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinograd> Триггер повешен на табличку USERS

Полный DDL триггера приводи, а не кусками.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 13:33
    #40002523
MarinaVinograd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Гаджимурадов Рустам,
]

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SET TERM ^ ;
CREATE TRIGGER ADDPWDHASHHISTORY FOR USERS ACTIVE
AFTER INSERT OR UPDATE POSITION 0
AS 
BEGIN
    
	INSERT INTO USERSPWDHASHHISTORY 
	(id,
	USERID, 
	 FIO, 
	 PWDHASH,
         ATTIME)
	 id (для таблички USERSPWDHASHHISTORY)????? select id, fio, pwdhash from users where id=new.ID; ????? CURRENT_TIMESTAMP
	 END^
SET TERM ; ^
...
Рейтинг: 0 / 0
25.09.2020, 13:34
    #40002525
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Гаджимурадов Рустам
MarinaVinograd> Триггер повешен на табличку USERS

Полный DDL триггера приводи, а не кусками.

и таблиц тоже
...
Рейтинг: 0 / 0
25.09.2020, 13:40
    #40002527
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
MarinaVinogradТриггер повешен на табличку USERS и при инсёрте в USERS нужно чтобы писалось в
USERSPWDHSHHISTORY

Повторяю третий раз: select тут не нужен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.09.2020, 14:16
    #40002539
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Мимопроходящий
25.09.2020 13:00, MarinaVinograd пишет:
> К руководству по Firebird прошу не посылать

тогда в #$%^& сад.


зы: кто-то ещё сомневается что это тро-ло-ло?
МП, держи себя в рамках.
...
Рейтинг: 0 / 0
25.09.2020, 14:19
    #40002541
MarinaVinograd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с INSERT INTO SELECT
Dimitry Sibiryakov, да! Я поняла, спасибо большое, получилось)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / проблема с INSERT INTO SELECT / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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