powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как построить регулярное выражение
3 сообщений из 3, страница 1 из 1
Как построить регулярное выражение
    #39972045
www1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Кто знает как сделать такую логику в триггере:

IF :new.a='AAA' AND :new.b NOT LIKE '/%/' THEN RAISE_APPLICATION_ERROR(-20002,'Должно начинаться и заканчиваться символом /'; END IF;

Через LIKE не работает.

Как сделать регулярку?

Вводимые значения между "/" могут содержать любые символы.
...
Рейтинг: 0 / 0
Как построить регулярное выражение
    #39972118
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www1

Через LIKE не работает.


Да ну:

Код: 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.
SQL> create table tbl(a varchar2(10),b varchar2(10))
  2  /

Table created.

SQL> create or replace
  2    trigger tbl_biur
  3      before insert
  4      or update
  5      on tbl
  6      for each row
  7      begin
  8          IF :new.a='AAA' AND :new.b NOT LIKE '/%/'
  9            THEN
 10              RAISE_APPLICATION_ERROR(-20002,'Must begin and end with /');
 11          END IF;
 12  end;
 13  /

Trigger created.

SQL> insert
  2    into tbl
  3    values(
  4           'AAA',
  5           '/BBB/'
  6          )
  7  /

1 row created.

SQL> insert
  2    into tbl
  3    values(
  4           'AAA',
  5           'CCC'
  6          )
  7  /
  into tbl
       *
ERROR at line 2:
ORA-20002: Must begin and end with /
ORA-06512: at "SCOTT.TBL_BIUR", line 4
ORA-04088: error during execution of trigger 'SCOTT.TBL_BIUR'


SQL> update tbl
  2     set b = 'CCC'
  3  /
update tbl
       *
ERROR at line 1:
ORA-20002: Must begin and end with /
ORA-06512: at "SCOTT.TBL_BIUR", line 4
ORA-04088: error during execution of trigger 'SCOTT.TBL_BIUR'


SQL>



SY.
...
Рейтинг: 0 / 0
Как построить регулярное выражение
    #39972123
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www1,

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


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