powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Декларация курсора в user type
22 сообщений из 72, страница 3 из 3
Декларация курсора в user type
    #39483816
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..к стати, целостность на момент открытия выражения, а не старта селекта (аля ф-ция)Ты пишешь какой-то трудно понимаемый бред.
Но продемонстрировал ты ошибку времени компиляции.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483833
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicstax..к стати, целостность на момент открытия выражения, а не старта селекта (аля ф-ция)Ты пишешь какой-то трудно понимаемый бред.
Но продемонстрировал ты ошибку времени компиляции.
а какого еще времени, если комиляция не проходит? в execute?

что не понятно?

выражение cursor еxpression неконсистентно относительно времени старта селекта

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483839
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..намекаете что ето PL/SQL?Я намекаю что PL/SQL static SQL это не обычный SQL.
AmKad же уже показал, что оно валитися в обычном SQL если засунуть в inline view.
stax..пример не поддерживаемого типа в sql boolean;Смотри, у меня "поддержало".
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select lnnvl(1 = 1) x from dual where not lnnvl(1 = 1);

         X
----------


SQL>


Касательно тонкостей работы, у Подера было две видео сессии типа "SQL HACKING SESSION", он там трассировал OCI и немного ковырял внутренности.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483844
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..что не понятно?Твои мысли путаны и отягощены непонятным языком.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483927
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..намекаете что ето PL/SQL?Я намекаю что PL/SQL static SQL это не обычный SQL.
AmKad же уже показал, что оно валитися в обычном SQL если засунуть в inline view.
stax..пример не поддерживаемого типа в sql boolean;Смотри, у меня "поддержало".
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select lnnvl(1 = 1) x from dual where not lnnvl(1 = 1);

         X
----------


SQL>


Касательно тонкостей работы, у Подера было две видео сессии типа "SQL HACKING SESSION", он там трассировал OCI и немного ковырял внутренности.

я не очень понимаю разницу между PL/SQL static SQL и обычным SQL.

насчет вью

авторNested cursors cannot appear in views.


lnnvl, видел етот трюк, ето скорее баг чем поддержка

The function can be used only in the WHERE clause of a query.

only я понимаю как только

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483932
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicstax..что не понятно?Твои мысли путаны и отягощены непонятным языком.

согласен

поетому и постарался перефразировать

выражение cursor еxpression неконсистентно относительно времени старта селекта (ведет себя аналогично ф-ции)

ps
для меня английский еще более непонятен
stax..
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483946
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..я не очень понимаю разницу между PL/SQL static SQL и обычным SQL.Ну вот еще пример, про различия в "понимании типов полей select list".
Иерархический запрос завис (год работал)

А вообще на старых версиях вроде было намного больше отличий в работе SQL в PL/SQL (вроде еще использовалось словосочетение embedded SQL) и изолированно, странно что ты этого не помнишь. А смотреть Подера не хочешь и вообще английский не поманиешь. Вот и считай себе ref cursor SQL типом, я не против. :)
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39483998
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..я не очень понимаю разницу между PL/SQL static SQL и обычным SQL.Ну вот еще пример, про различия в "понимании типов полей select list".
Иерархический запрос завис (год работал)

А вообще на старых версиях вроде было намного больше отличий в работе SQL в PL/SQL (вроде еще использовалось словосочетение embedded SQL) и изолированно, странно что ты этого не помнишь. А смотреть Подера не хочешь и вообще английский не поманиешь. Вот и считай себе ref cursor SQL типом, я не против. :)

про Подера я проморгал ссылку
если на английском, то что его смотреть (и вообще английский не поманимаю)

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484002
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousHOME_Xв целом "ХРЕН один"
Статическая компиляция существенно удобнее динамической уже потому, что отлавливает многие ошибки на этапе компиляции, а не в рантайме.

Вы правы...
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484016
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..я не очень понимаю разницу между PL/SQL static SQL и обычным SQL.Ну вот еще пример, про различия в "понимании типов полей select list".
Иерархический запрос завис (год работал)

А вообще на старых версиях вроде было намного больше отличий в работе SQL в PL/SQL (вроде еще использовалось словосочетение embedded SQL) и изолированно, странно что ты этого не помнишь. А смотреть Подера не хочешь и вообще английский не поманиешь. Вот и считай себе ref cursor SQL типом, я не против. :)
embedded я наверное не правильно понимаю

ето ограничение/нюансы на использование sql в конкретной "среде"

напр в SQL добавили фичу with, а pl/sql ee понимает

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484036
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..embedded я наверное не правильно понимаю
Да нет, это коллега, кмк, слегка подзабыл за давностью лет.
Oracle Embedded - это был такой вариант лицензии на oracle во времена 10g.
Отличался тем, что ПО Oracle можно было распространять исключительно в составе дистрибутива приложения и абсолютно все операции с БД (включая развертывание и администрирование) должны были проходить через приложение, в которое "встроен" сервер.
Даже SQL*Plus нельзя... Зато дешево :)
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484055
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..dbms_photoshopпропущено...
Ну вот еще пример, про различия в "понимании типов полей select list".
Иерархический запрос завис (год работал)

А вообще на старых версиях вроде было намного больше отличий в работе SQL в PL/SQL (вроде еще использовалось словосочетение embedded SQL) и изолированно, странно что ты этого не помнишь. А смотреть Подера не хочешь и вообще английский не поманиешь. Вот и считай себе ref cursor SQL типом, я не против. :)
embedded я наверное не правильно понимаю

ето ограничение/нюансы на использование sql в конкретной "среде"

напр в SQL добавили фичу with, а pl/sql ee понимает

.....
staxЯ возможно неверно использовал "embedded".
Имелось в виду функциональные различия для "независимого" SQL и описанного в PL/SQL (не говоря уже про различия под капотом).
Где-то попадалось что-то в духе "ну вот с этой версии SQL в PL/SQL такой же как вне его".
Есть в доке раздел Overview of SQL Support in PL/SQL , но я немного не это искал.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484058
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousstax..embedded я наверное не правильно понимаю
Да нет, это коллега, кмк, слегка подзабыл за давностью лет.
Oracle Embedded - это был такой вариант лицензии на oracle во времена 10g.
Отличался тем, что ПО Oracle можно было распространять исключительно в составе дистрибутива приложения и абсолютно все операции с БД (включая развертывание и администрирование) должны были проходить через приложение, в которое "встроен" сервер.
Даже SQL*Plus нельзя... Зато дешево :)Ничессе.
Под Oracle Embeddable Databases я понимал всегда Oracle Berkeley DB.
Там предельно понятно как "распростанять СУБД в составе приложения".
Но мы еще больше запутали и без того запутаннай топик.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484060
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousstax..embedded я наверное не правильно понимаю
Да нет, это коллега, кмк, слегка подзабыл за давностью лет.
Oracle Embedded - это был такой вариант лицензии на oracle во времена 10g.
Отличался тем, что ПО Oracle можно было распространять исключительно в составе дистрибутива приложения и абсолютно все операции с БД (включая развертывание и администрирование) должны были проходить через приложение, в которое "встроен" сервер.
Даже SQL*Plus нельзя... Зато дешево :)
хз

первая ссылка из гугля
Home / Database / Oracle Database Online Documentation 11g Release 1 ( 11.1 ) / Application Development

Pro*COBOL® Programmer's Guide
Embedded SQL

мне английские нюансы понять трудно

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484066
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbms_photoshopstax..пропущено...

embedded я наверное не правильно понимаю

ето ограничение/нюансы на использование sql в конкретной "среде"

напр в SQL добавили фичу with, а pl/sql ee понимает

.....
staxЯ возможно неверно использовал "embedded".
Имелось в виду функциональные различия для "независимого" SQL и описанного в PL/SQL (не говоря уже про различия под капотом).
Где-то попадалось что-то в духе "ну вот с этой версии SQL в PL/SQL такой же как вне его".
Есть в доке раздел Overview of SQL Support in PL/SQL , но я немного не это искал.
embedded я понимал как нюансы/ограничения реализации sql

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484088
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadstax..какого типа асстракция с?Я выше попытался спросить у dump-а, но он мне не ответил .
Код: plsql
1.
2.
3.
4.
5.
SQL> select dump(data_default) from user_tab_columns where rownum = 1;
select dump(data_default) from user_tab_columns where rownum = 1
            *
ERROR at line 1:
ORA-00997: illegal use of LONG datatype

типа LONG тоже нет в SQL*
------------------------------------------
* по мнению функции DUMP()
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484093
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..The following restrictions apply to CURSOR expressions:
If the enclosing statement is not a SELECT statement, nested cursors can appear only as REF CURSOR arguments of a procedure.
The enclosing statement *is not* a SELECT statement :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> create table t(a number);

Table created.

SQL> create or replace function f(x sys_refcursor)
  2  return number
  3  as
  4  begin
  5     return 1;
  6  end;
  7  /

Function created.

SQL> insert into t(a) values (f(cursor(select 1 from dual)));

1 row created.

SQL> commit;

Commit complete.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484218
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--AmKadпропущено...
Я выше попытался спросить у dump-а, но он мне не ответил .
Код: plsql
1.
2.
3.
4.
5.
SQL> select dump(data_default) from user_tab_columns where rownum = 1;
select dump(data_default) from user_tab_columns where rownum = 1
            *
ERROR at line 1:
ORA-00997: illegal use of LONG datatype

типа LONG тоже нет в SQL*
------------------------------------------
* по мнению функции DUMP()

с чего такой вывод?
я наоборот считаю, DUMP "перегружается" (определена) не для всех типов

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484221
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--stax..The following restrictions apply to CURSOR expressions:
If the enclosing statement is not a SELECT statement, nested cursors can appear only as REF CURSOR arguments of a procedure.
The enclosing statement *is not* a SELECT statement :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> create table t(a number);

Table created.

SQL> create or replace function f(x sys_refcursor)
  2  return number
  3  as
  4  begin
  5     return 1;
  6  end;
  7  /

Function created.

SQL> insert into t(a) values (f(cursor(select 1 from dual)));

1 row created.

SQL> commit;

Commit complete.


не понял
Гугл перевел так

Если заключенный оператор не является оператором SELECT, вложенные курсоры могут отображаться только как аргументы REF CURSOR процедуры

или Вы о баге в доке
только в процедуре, а Вы использовали в функции, не в процедуре

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484343
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..только в процедуре, а Вы использовали в функции, не в процедуре
Какой же ты нудный.
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484349
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бракованный финский угорьstax..только в процедуре, а Вы использовали в функции, не в процедуре
Какой же ты нудный.

есть немножко

.....
stax
...
Рейтинг: 0 / 0
Декларация курсора в user type
    #39484357
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..есть немножко да, я о "процедуре" ))
можно иногда хоть немного посмеяться?
а эти сразу начинают: "какой ты нудный.. бла бла..."
...
Рейтинг: 0 / 0
22 сообщений из 72, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Декларация курсора в user type
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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