Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 SQL functions in PL/SQL.  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Привет!

Стало интересно, есть ли где-то список SQL функций, которые могут быть использованы в PL/SQL?

Или их набор опредедяется только методом тыка?

Например:
SQL> select nvl(1,1) from dual;
 
  NVL(1,1)
----------
         1
SQL> select nvl2(1,1,1) from dual;
 
NVL2(1,1,1)
-----------
          1
SQL> select decode(1,1,1) from dual;
 
DECODE(1,1,1)
-------------
            1
SQL> select exp(1) from dual;
 
    EXP(1)
----------
2,71828182
SQL> exec dbms_output.put_line(nvl(1,1));
 
PL/SQL procedure successfully completed
SQL> exec dbms_output.put_line(nvl2(1,1,1));
 
begin dbms_output.put_line(nvl2(1,1,1)); end;
 
ORA-06550: line 2, column 28:
PLS-00201: identifier 'NVL2' must be declared
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
SQL> exec dbms_output.put_line(decode(1,1,1));
 
begin dbms_output.put_line(decode(1,1,1)); end;
 
ORA-06550: line 2, column 28:
PLS-00204: function or pseudo-column 'DECODE' may be used inside a SQL statement only
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
SQL> exec dbms_output.put_line(exp(1));
 
PL/SQL procedure successfully completed
18 авг 10, 17:22    [9284679]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
AmKad
Member

Откуда:
Сообщений: 5222
dbms_photoshop,

SQL Functions in PL/SQL Expressions
18 авг 10, 17:30    [9284793]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
AmKad
dbms_photoshop,

SQL Functions in PL/SQL Expressions

Спасибо!
Жаль в доке к 10-ке такого нет.
18 авг 10, 17:37    [9284874]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
dbms_photoshop
Жаль в доке к 10-ке такого нет.


А проверяли? :) RTFM Summary of PL/SQL Built-In Functions.
18 авг 10, 17:39    [9284890]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
suPPLer
А проверяли? :)

Йо-йо... смотрю в книгу - вижу фигу. Опозорился сегодня по полной...
18 авг 10, 17:47    [9284969]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
makitka
Member

Откуда: FROM dual
Сообщений: 886
отсутствие NVL2 в PL/SQL меня всегда удивляло и огорчало. DECODE тоже..
18 авг 10, 17:51    [9285016]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
err_n
Member

Откуда:
Сообщений: 267
зато есть непроизносимый COALESCE ...
18 авг 10, 18:19    [9285320]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
makitka
Member

Откуда: FROM dual
Сообщений: 886
err_n
зато есть непроизносимый COALESCE ...

он везде есть
18 авг 10, 19:48    [9285849]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
semirax
Member

Откуда:
Сообщений: 450
makitka,

DECODE - все ж таки не совсем функция, ибо перед вызовом функции обычно вычисляются значения аргументов.

SELECT DECODE(1, 0, 1/0) FROM DUAL

Аналогично CASE, COALESCE и тд.

Правильнее называть DECODE - "Выражением" или, возможно, "оператором", но никак не функцией.
18 авг 10, 23:27    [9286589]     Ответить | Цитировать Сообщить модератору
 Re: SQL functions in PL/SQL.  [new]
makitka
Member

Откуда: FROM dual
Сообщений: 886
semirax
makitka,

DECODE - все ж таки не совсем функция, ибо перед вызовом функции обычно вычисляются значения аргументов.

SELECT DECODE(1, 0, 1/0) FROM DUAL

Аналогично CASE, COALESCE и тд.

Правильнее называть DECODE - "Выражением" или, возможно, "оператором", но никак не функцией.


я знаю про decode. я функцией его ине называл. сказал что не хватает его в PL/SQL
19 авг 10, 09:39    [9287455]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить