powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / а нет ли возможности проверять входящие параметры процедур посредством check
8 сообщений из 8, страница 1 из 1
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895749
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
CREATE OR REPLACE PROCEDURE prc1(p_param1 NUMBER CHECK(p_param1 in (0, 1)))
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895755
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

А смысл?
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895761
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
Код: plsql
1.
NUMBER CHECK(p_param1 in (0, 1))

Код: plsql
1.
SIGNTYPE
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895764
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx,

Можно объявить ограниченный subtype и использовать в качестве параметра. Но проверяться не будет.
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895773
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-
Но проверяться не будет.
Точно?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SQL> declare
  2    subtype TDigit is BINARY_INTEGER range 0..9;
  3    procedure Out(x TDigit)
  4    is
  5    begin
  6      dbms_output.put_line(x);
  7    end Out;
  8  begin
  9    Out(0);
 10    Out(1);
 11    Out(-1);
 12    Out(132);
 13  end;
 14  /
0
1
declare
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 11

...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895780
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
-2-
Но проверяться не будет.
Точно?
Я ошибся, памятуя, что ограничение размерности number/varchar2 не проверяется.
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39895989
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
А смысл?

позволило бы ловить больше ошибок во время компиляции, а в рантайме не заморачиваться валидацией параметров, написанной на коленке. ну и самодокументируемый код - это всегда плюс.

-2-
Я ошибся, памятуя, что ограничение размерности number/varchar2 не проверяется.

а этому, кстати, есть какое-то рациональное объяснение, кроме "ну вот так вот сделали"?
...
Рейтинг: 0 / 0
а нет ли возможности проверять входящие параметры процедур посредством check
    #39896045
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей
а этому, кстати, есть какое-то рациональное объяснение, кроме "ну вот так вот сделали"?
Может ли INT-параметр иметь дробную часть? - Увы...
Т.е. нет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / а нет ли возможности проверять входящие параметры процедур посредством check
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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