powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Конвертер валют с использованием триггера.
6 сообщений из 6, страница 1 из 1
Конвертер валют с использованием триггера.
    #39545867
AlekseyD92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Нужно написать триггер для конвертации величин и записи их в колонку.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
CREATE OR REPLACE TRIGGER B_IU_CURR_EXCHANGE BEFORE INSERT OR UPDATE ON QUESTIONNAIRE REFERENCING NEW AS new FOR EACH ROW 
DECLARE 
  vRUB VARCHAR2(20);
  vUSD VARCHAR2(20);
  vEUR VARCHAR2(20);
  iBEL NUMBER;
  iCUR_RUB NUMBER;
  iCUR_USD NUMBER;
  iCUR_EUR NUMBER;
BEGIN
  SELECT val INTO vUSD FROM KURS WHERE id = 1;
  SELECT val INTO vEUR FROM KURS WHERE ID = 2;
  SELECT VAL INTO vRUB FROM kurs WHERE id = 3;
  SELECT znach INTO iCUR_USD FROM KURS WHERE ID =1;
  SELECT znach INTO iCUR_EUR FROM KURS WHERE ID =2;
  SELECT znach INTO iCUR_RUB FROM KURS WHERE ID =3;
  BEGIN 
    IF :new.O01V = vRUB THEN
      iBEL := :new.O01S*iCUR_RUB;
    INSERT INTO QUESTIONNAIRE(O01BEL)
    VALUES iBEL;
    end IF;
    IF :new.O01V = vUSD THEN 
      iBEL := :new.O01S*iCUR_USD;
    INSERT INTO QUESTIONNAIRE(O01BEL)
    VALUES iBEL;
    END IF;
    IF :new.O01V = vEUR THEN
      iBEL := :new.O01S*iCUR_EUR;
    INSERT INTO QUESTIONNAIRE(O01BEL)
    VALUES iBEL;
    END IF;
    EXCEPTION WHEN OTHERS THEN 
     INSERT INTO QUESTIONNAIRE(O01BEL)
    VALUES :new.O01S;
  END;
END;
    
              


Ругается на инсерте на колонку с ошибкой
Код: plsql
1.
SQL11 PL/SQL: ORA-03001: unimplemented feature SQL1.sql 20 31 


Подскажите, пожалуйста, как исправить.
...
Рейтинг: 0 / 0
Конвертер валют с использованием триггера.
    #39545892
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseyD92
Код: plsql
1.
VALUES iBEL;

Список полей нужно брать в скобки.
...
Рейтинг: 0 / 0
Конвертер валют с использованием триггера.
    #39545894
AlekseyD92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad,
Вот это провал...
Спасибо огромное!
...
Рейтинг: 0 / 0
Конвертер валют с использованием триггера.
    #39545903
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseyD92Вот это провал...Это только его начало. А совет был медвежий. Да и весь триггер - быдлокодец ещё тот.
...
Рейтинг: 0 / 0
Конвертер валют с использованием триггера.
    #39545937
AlekseyD92
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicAlekseyD92Вот это провал...Это только его начало. А совет был медвежий. Да и весь триггер - быдлокодец ещё тот.
А с этого места поподробнее, пожалуйста.
Пока начинаю SQL, поэтому так.
Подскажите оптимизацию.
...
Рейтинг: 0 / 0
Конвертер валют с использованием триггера.
    #39545951
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseyD92Пока начинаю SQL,Не от туда начинаешь. Пока можешь запомнить: на твоём уровне триггеры - зло.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Конвертер валют с использованием триггера.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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