powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / триггеры оракл
6 сообщений из 6, страница 1 из 1
триггеры оракл
    #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
триггеры оракл
    #40072365
aslanaslan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aslanaslan,

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

оракл 6


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

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



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

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

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

+ on/pre _insert/update


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


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