Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Trigger на вставку / 5 сообщений из 5, страница 1 из 1
19.07.2014, 09:41
    #38700941
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trigger на вставку
таблица
Код: plsql
1.
CREATE TABLE tb_updates (UPD_ID Varchar(50), UPD_APP Varchar(250), UPD_VERSION Integer DEFAULT 0, UPD_IMAGE Blob, UPD_TIMESTAMP DATE)



пробую так

Код: plsql
1.
2.
3.
4.
5.
CREATE TRIGGER  IF NOT EXISTS tr_tb_updates_bi 
         BEFORE INSERT ON tb_updates
         FOR EACH ROW BEGIN
         INSERT INTO tb_updates (upd_id) VALALUES (UPPER(hex(randomblob(16))));
         END



тестирую запросом
Код: plsql
1.
insert into tb_updates (upd_app) values ('ttt')



полная чушь - две записи - одна без UPD_ID, другая с UPD_APP

кто знает как сделать INSERT TRIGGER ?
...
Рейтинг: 0 / 0
19.07.2014, 23:43
    #38701128
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trigger на вставку
MaratIskполная чушь - две записи - одна без UPD_ID, другая с UPD_APP Это не чушь. Это что ты просил, то и получил.
Ты хотел что-то другое? Тогда скажи нам что именно ты хотел.

MaratIskкто знает как сделать INSERT TRIGGER ? Каждый прочитавший документацию:
http://sqlite.org/lang_createtrigger.html
...
Рейтинг: 0 / 0
20.07.2014, 09:16
    #38701169
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trigger на вставку
White Owl,

вот как делаю в Oracle

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE TRIGGER tr_tb_payments_bi
 BEFORE
  INSERT
 ON tb_payments
REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
BEGIN
  IF :NEW.pay_id IS NULL
  THEN
    SELECT SYS_GUID
      INTO :NEW.pay_id
      FROM DUAL;
  END IF;
END;



а вот в SQLite не работает
...
Рейтинг: 0 / 0
20.07.2014, 11:40
    #38701184
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trigger на вставку
нашел

CREATE TRIGGER IF NOT EXISTS tr_tb_updates_ai
AFTER INSERT ON tb_updates
FOR EACH ROW
BEGIN
UPDATE tb_updates
SET upd_id = UPPER(HEX(randomblob(16))),
upd_timestamp = datetime('now', 'localtime')
WHERE upd_id IS NULL;
END;
...
Рейтинг: 0 / 0
20.07.2014, 16:15
    #38701254
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Trigger на вставку
White OwlMaratIskполная чушь - две записи - одна без UPD_ID, другая с UPD_APP Это не чушь. Это что ты просил, то и получил.
Ты хотел что-то другое? Тогда скажи нам что именно ты хотел.

MaratIskкто знает как сделать INSERT TRIGGER ? Каждый прочитавший документацию:
http://sqlite.org/lang_createtrigger.html

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


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