Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / триггеры оракл / 6 сообщений из 6, страница 1 из 1
24.05.2021, 08:45
    #40072364
aslanaslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
здравствуйте всем
надо создать триггер на запрет добавления имеющейся интервала дат
создал не читает
подскажите
create or replace trigger logbook_view_trigger
after update or insert
on logbook_view_trig
referencing new as new old as old
declare
cursor c IS
SELECT L.BOAT_NAME, L.DATE_VI, L.DATE_VO
FROM logbook_view l
join logbook_view_trig v on (v.boat_namn = L.BOAT_NAME)
where not(L.DATE_VI > v.date_vo or L.DATE_VO < v.date_vi)
and L.ID_BOOK! = v.id_book;
b c%rowtype;
begin
open c; fetch c into b;
if c%found then
raise_application_error('Date cannot be the same');
end if;
close c;
end logbook_view_trigger;
...
Рейтинг: 0 / 0
24.05.2021, 08:46
    #40072365
aslanaslan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
aslanaslan,

оракл 6
...
Рейтинг: 0 / 0
24.05.2021, 10:44
    #40072386
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
aslanaslan
aslanaslan,

оракл 6


врядли у Вас столь древний оракл 6 (насколько помню триггера появились в 7-й)

Код: plsql
1.
надо создать триггер на запрет добавления имеющейся интервала дат



уточните "имеющейся интервала" дат или пересекающихся?

.....
stax
...
Рейтинг: 0 / 0
24.05.2021, 15:59
    #40072490
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
aslanaslan
оракл 6


Вероятно, Oracle Reports 6.

Вместо

aslanaslanсоздал не читает

приводите полный журнал. Так и научитесь.

Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
Connected to Oracle Database 10g Release 10.2.0.3.0 
Connected as system@ORCL

SQL> create user user1 identified by "1";

User created


SQL> grant resource to user1;

Grant succeeded


SQL> grant connect ot user1;
grant connect ot user1

ORA-00990: отсутствует или неверна привилегия

SQL> grant create session ot user1;
grant create session ot user1

ORA-00905: отсутствует ключевое слово

SQL> grant connect to user1;

Grant succeeded


SQL> conn user1/1
Connected to Oracle Database 10g Release 10.2.0.3.0 
Connected as user1

SQL> create table t(id number not null, dat1 date default sysdate not null, dat2 date default sysdate not null);

Table created


SQL> 
SQL> create trigger trg1 before insert or update on t for each row
  2  
  3  if :new.dat1 > date '2021-05-01' then
  4    raise_appplication_error(-20001, 'Error');
  5  end if;
  6  
  7  end;
  8  /
create trigger trg1 before insert or update on t for each row

if :new.dat1 > date '2021-05-01' then
  raise_appplication_error(-20001, 'Error');
end if;

end;

ORA-04079: неверное определение триггера

SQL> create or replace trigger trg1 before insert or update on t for each row
  2  
  3  begin
  4  
  5  if :new.dat1 > date '2021-05-01' then
  6    raise_appplication_error(-20001, 'Error');
  7  end if;
  8  
  9  end;
 10  /

Warning: Trigger created with compilation errors


SQL> show errors;
Errors for TRIGGER USER1.TRG1:
LINE/COL ERROR
-------- ------------------------------------------------------------------------
4/3      PLS-00201: идентификатор 'RAISE_APPPLICATION_ERROR' должен быть объявлен
4/3      PL/SQL: Statement ignored

SQL> 

...
Рейтинг: 0 / 0
24.05.2021, 16:16
    #40072500
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
Если речь про Oracle Forms 6i, то там есть WHEN-VALIDATE-ITEM, WHEN-VALIDATE-RECORD.

Что и зачем пытается делать автор - по его вопросам вообще понять не возможно.
...
Рейтинг: 0 / 0
24.05.2021, 16:36
    #40072505
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
триггеры оракл
Leonid Kudryavtsev,

+ on/pre _insert/update


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


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