powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / создание объектов
49 сообщений из 49, показаны все 2 страниц
создание объектов
    #39444599
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишу следующий код:
Код: plsql
1.
2.
3.
4.
5.
create or replace type r_test_type as object (
  i number,
  j number,
  static function r_function (k number) return self as result
)


а он мне выдает ошибку:
Код: plsql
1.
implementation restriction (may be temporary) SELF AS RESULT in member methods


Почему? ((
...
Рейтинг: 0 / 0
создание объектов
    #39444609
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не закончив яслей чудо попёрлось в универ.
...
Рейтинг: 0 / 0
создание объектов
    #39444614
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicНе закончив яслей чудо попёрлось в универ.

)))))))))))))))))))))))))))))))))))))
Это оценочная точка зрения, хотелось бы больше конструктивизма ))))
...
Рейтинг: 0 / 0
создание объектов
    #39444635
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,

Ты хоть что-то читаешь, перед тем как писать?
constructor_declaration

Если не понимаешь, чем конструктор типа отличается от метода типа - лучше не пиши ничего.
...
Рейтинг: 0 / 0
создание объектов
    #39444640
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё заработало, сделал вот так при создании body:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace type body r_test_type as object (
is
  constructor function r_function (k number) Return Self As Result
  is 
  begin
    Self.k:=k;
  Return;
  end;
)not after final;
...
Рейтинг: 0 / 0
создание объектов
    #39444652
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал сам Type:
Код: plsql
1.
2.
3.
4.
5.
create or replace type r_test_type as object (
  i number,
  j number,
  static function r_function (k number) return number
)


и его body:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace type body r_test_type as object (
is
  constructor function r_function (k number) Return Self As Result
  is 
  begin
    Self.k:=k;
  Return;
  end;
)not after final;


Вроде без ошибок получилось ))
Теперь пытаюсь использовать:
Код: plsql
1.
2.
3.
4.
5.
declare p r_test_type;
  i number;
begin
  dbms_output.put_line (p.r_function(1));
end;


Выдает ошибку ((
Как мне использовать этот тип? могу ли я обратиться к i и j следующим образом:
Код: plsql
1.
2.
p.i 
p.j


?
...
Рейтинг: 0 / 0
создание объектов
    #39444662
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
создание объектов
    #39444663
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,

Overkill ©SY

Переведи на русский, что ты по-твоему написал в каждой части конструкции.
...
Рейтинг: 0 / 0
создание объектов
    #39444709
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015,

Overkill ©SY

Переведи на русский, что ты по-твоему написал в каждой части конструкции.
Попытался пересоздать тип, а он выдал ошибку ((
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create or replace type r_test_type as object (
  i number,
  j number,
  static function r_function (k number) Return number
)

create or replace type body r_test_type as object (
is
  constructor function r_function (k number) Return Self As Result
  is
  begin
    Self.k:=k;
  Return;
  end;
)not after final;


а когда делаю ему вместо первого блока следующий:
Код: plsql
1.
2.
3.
4.
5.
create or replace type r_test_type as object (
  i number,
  j number,
  static function r_function (k number) Return SELF AS RESALT
)


То он выдает ошибку ((((
Непонятно как работают эти типы....? ((
...
Рейтинг: 0 / 0
создание объектов
    #39444724
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015RESALT

Что ты там пересолить собрался?

Пока доку не прочитаешь - к консоли не прикасайся.

Представьте себе бушмена, требующего у физика, чтобы тот объяснил, почему нельзя пустить стрелу в Солнце ©Шекли Р., Верный вопрос
...
Рейтинг: 0 / 0
создание объектов
    #39444734
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015RESALT

Что ты там пересолить собрался?

Пока доку не прочитаешь - к консоли не прикасайся.

Представьте себе бушмена, требующего у физика, чтобы тот объяснил, почему нельзя пустить стрелу в Солнце ©Шекли Р., Верный вопрос
я перепроверил, там result
наверное когда сюда записывал, то опечатался ))
...
Рейтинг: 0 / 0
создание объектов
    #39444738
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015RESALT

Что ты там пересолить собрался?

Пока доку не прочитаешь - к консоли не прикасайся.

Представьте себе бушмена, требующего у физика, чтобы тот объяснил, почему нельзя пустить стрелу в Солнце ©Шекли Р., Верный вопрос

Я читаю, непонятно, вот пытаюсь практиковаться, не получается, непонятно вдвойне ((
...
Рейтинг: 0 / 0
создание объектов
    #39444740
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015RESALT

Что ты там пересолить собрался?

Пока доку не прочитаешь - к консоли не прикасайся.

Представьте себе бушмена, требующего у физика, чтобы тот объяснил, почему нельзя пустить стрелу в Солнце ©Шекли Р., Верный вопрос
Интересно что будет после ООП, какой виток даст программирование, какие новые абстракции принесёт, нужно заранее готовить свой мозг к пониманию и наращиванию ассоциаций для подобного рода мышления ))))
...
Рейтинг: 0 / 0
создание объектов
    #39444742
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015какие новые абстракцииТы в старых "туп как дерево".
...
Рейтинг: 0 / 0
создание объектов
    #39444746
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicRMagistr2015какие новые абстракцииТы в старых "туп как дерево".
сть такое )))) Не отрицаю, вот пытаюсь пнять как тутдумать нужно )) Въехать пытаюсь что это такое и почему работает именно так ))))
...
Рейтинг: 0 / 0
создание объектов
    #39444749
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicRMagistr2015какие новые абстракцииТы в старых "туп как дерево".
И потом, кто из нас не начинал учиться чему-то новому когда-то? ))))
...
Рейтинг: 0 / 0
создание объектов
    #39444750
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Интересно что будет после ООП, какой виток даст программирование, какие новые абстракции принесёт, нужно заранее готовить свой мозг .......)))

http://fprog.ru/
...
Рейтинг: 0 / 0
создание объектов
    #39444874
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015То он выдает ошибку ((((
Непонятно как работают эти типы....? ((

Уважаемые ученые, у меня в подвале происходит подземный стук. Объясните пожалуйста, отчего он.



0. прочитай концепции ООП
1. осознай разницу между конструктором, методом, статическим методом
2. осознай разницу между final и not final, почитай про subtype и override
3. если уж выкладываешь на форум по oracle, то приводи листинг из sqlplus, в котором явно будет видно выполнение и ошибки
...
Рейтинг: 0 / 0
создание объектов
    #39445198
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

посоветуйте пожалуйста хороший ютуб-канал по ооп в oracle
...
Рейтинг: 0 / 0
создание объектов
    #39445208
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015хороший ютуб-канал по ооп в oracle

Ну, здравствуй, современное образование. Как только в оракле появятся хорошие ютуб-каналы по ооп - так сразу.

з.ы. Книга (дока) лучше.
...
Рейтинг: 0 / 0
создание объектов
    #39445268
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015То он выдает ошибку ((((
Непонятно как работают эти типы....? ((
Уважаемые ученые, у меня в подвале происходит подземный стук. Объясните пожалуйста, отчего он.
0. прочитай концепции ООП
1. осознай разницу между конструктором, методом, статическим методом
2. осознай разницу между final и not final, почитай про subtype и override
3. если уж выкладываешь на форум по oracle, то приводи листинг из sqlplus, в котором явно будет видно выполнение и ошибки

а в SQLPlus можно как-то перевести уже написанный PL/SQL код?
...
Рейтинг: 0 / 0
создание объектов
    #39445272
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015можно

да, разрешаю, но после прочтения доки
...
Рейтинг: 0 / 0
создание объектов
    #39445287
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015env,

посоветуйте пожалуйста хороший ютуб-канал по ооп в oracle

большой вопрос, нужно ли оно там вообще.
...
Рейтинг: 0 / 0
создание объектов
    #39445311
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot env]
Для чего вообще нужно хранить объекты в полях таблиц? Только ли в полях таблиц можно храить объекты? И как извлекать нужный подтип объекта, если поле таблицы имеет тип супертипа - такое возможно?
...
Рейтинг: 0 / 0
создание объектов
    #39445316
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015И какНе твоё это, документацию понимать. Иди улицы мети.
...
Рейтинг: 0 / 0
создание объектов
    #39445329
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Elic]

Я понимаю, просто я не сталкивался ещё с подобным образом мышления в виде ООП (( А можно на практическом примере? Т.е. в рамках какой-нибудь задачи рассмотреть все прелести и механизмы ООП, например зачем нужно создавать супер тип?
Для чего делать из него дочерниче типы? Потом определять какой это тип, дочерний или сепер тип, потом инкапсулировать или полиморфизмом заниматься )) Для чего всё это нужно? Читаю документацию, а вот никак сложиться не могут пазлы в голове, нет примера практического (((
...
Рейтинг: 0 / 0
создание объектов
    #39445358
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Для чего вообще нужно хранить объекты в полях таблиц

Хороший вопрос. Изучи эту тему и напиши по ней эссе на 1000 слов.
...
Рейтинг: 0 / 0
создание объектов
    #39445374
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
создание объектов
    #39445386
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015Для чего вообще нужно хранить объекты в полях таблиц

Хороший вопрос. Изучи эту тему и напиши по ней эссе на 1000 слов.
Открыл для себя паттерны ООП
...
Рейтинг: 0 / 0
создание объектов
    #39445387
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
создание объектов
    #39445880
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Elic]
Создал следующий тип:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace type uib2$r_test force as object
(
  amount           number,
  currency         varchar2(4),
  orderNumber      varchar2(64),

  constructor function uib2$r_test (amount number, currency varchar2)
    return self as result
);


его тело:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or replace type body uib2$r_test as

  constructor function uib2$r_test(amount number, currency varchar2)
    return self as result as
  begin
    SELF.amount           := amount;
    SELF.currency         := currency;
    SELF.orderNumber      := '1';
    return;
  end;

end;


Всё нормально отработалось. Пишу следующий код:
Код: plsql
1.
2.
3.
4.
5.
6.
declare i uib2$r_test;
begin
  i.amount:=1;
  dbms_output.put_line (i.amount);
  dbms_output.put_line (1);
end;


И он выдаёт ошибку:
Код: plsql
1.
ORA-06530:Ссылка на неинициализированныйсоставной тип ORA-06512: на line 3


Скажите пожалуйста, почему он выдаёт такого рода ошибку?
Вроде тип создал и объявил переменную этого типа ??? )))
...
Рейтинг: 0 / 0
создание объектов
    #39445885
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015
Код: plsql
1.
неинициализированный

Ты совсем тупой, и не понимаешь даже по-русски?
...
Рейтинг: 0 / 0
создание объектов
    #39445906
Бракованный финский угорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ссылка на неинициализированныйсоставной тип

Может инициализировать надо?
...
Рейтинг: 0 / 0
создание объектов
    #39445907
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015почему он выдаёт такого рода ошибку?

Казалось бы, для чего нужен конструктор....
...
Рейтинг: 0 / 0
создание объектов
    #39445923
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015почему он выдаёт такого рода ошибку?

Казалось бы, для чего нужен конструктор....
Мужики, уж извините ))) Совсем глупые вопросы задаю, но голова уже кругом от этого всего, жду майские праздники что бы проспаться как следует )))
...
Рейтинг: 0 / 0
создание объектов
    #39445924
Фотография rf_mail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote RMagistr2015]Elic
Я понимаю, просто я не сталкивался ещё с подобным образом мышления в виде ООП (( А можно на практическом примере? Т.е. в рамках какой-нибудь задачи рассмотреть все прелести и механизмы ООП, например зачем нужно создавать супер тип?
Для чего делать из него дочерниче типы? Потом определять какой это тип, дочерний или сепер тип, потом инкапсулировать или полиморфизмом заниматься )) Для чего всё это нужно? Читаю документацию, а вот никак сложиться не могут пазлы в голове, нет примера практического (((

Например, чтобы сформировать json,xml в ранних версиях бд или/и работа с java.
...
Рейтинг: 0 / 0
создание объектов
    #39446013
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бракованный финский угорьСсылка на неинициализированныйсоставной тип

Может инициализировать надо?
А можно без инициализации присвоить полю типа какое-то значение?
Например вроде как в
Этой статье

в примере Пример 12-3, происходит присваивание: emp.employee_id := 330;

без предварительного вызова конструктора типа как в примере 12-2
Как такое понять? ))
...
Рейтинг: 0 / 0
создание объектов
    #39446139
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Как такое понять? ))

авторСтатья написана на основе официальной документации фирмы Oracle.
Oracle® Database PL/SQL User's Guide and Reference
10g Release 2 (10.2)

Database Object-Relational Developer's Guide 11.2
...
Рейтинг: 0 / 0
создание объектов
    #39446155
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015Как такое понять? ))

авторСтатья написана на основе официальной документации фирмы Oracle.
Oracle® Database PL/SQL User's Guide and Reference
10g Release 2 (10.2)

Database Object-Relational Developer's Guide 11.2
Ясно, спасибо )))
Скажите пожалуйста, а что эффективнее использовать в работе? Объекты или временные таблицы, например в MS-SQL что бы передать таблицу в процедуру и обратно, используют временную таблицу...???
...
Рейтинг: 0 / 0
создание объектов
    #39446163
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015,

Лучше всего, использовать голову. Свою.

И исходить из цели,которую требуется достичь в контексте процессов, вызвавших необходимость её достижения.

К слову, для чего вообще надо передавать таблицу в процедуру?
...
Рейтинг: 0 / 0
создание объектов
    #39446186
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015,

Лучше всего, использовать голову. Свою.

И исходить из цели,которую требуется достичь в контексте процессов, вызвавших необходимость её достижения.

К слову, для чего вообще надо передавать таблицу в процедуру?

Ну в MS-SQL я это делал для передачи скопа параметров, или для получения каих-либо результатов выполнения из процедуры в реализации концепции патерного программирования.
В концепциях ООП это можно сравнить с принципом работы "фАБРИКИ", если так можно выразиться, когда например тебе необходимо получать различные объекты исходя из того что ты в неё загрузишь, неплохо применять для получения таких результатов непосредственно временные таблицы.
Как ООП в oracle работает, мне пока сложновато понять, сижу курю бамбуки и втыкаюсь )))))))) Задаю глупые вопросы и всё в этом роде, за что меня пинают, ну что поделать, всегда сложновато въезжать во что-то новое ))))) Особенно если ещё к синтаксису не привык )))
...
Рейтинг: 0 / 0
создание объектов
    #39446196
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015envRMagistr2015,

Лучше всего, использовать голову. Свою.

И исходить из цели,которую требуется достичь в контексте процессов, вызвавших необходимость её достижения.

К слову, для чего вообще надо передавать таблицу в процедуру?

Ну в MS-SQL я это делал для передачи скопа параметров, или для получения каих-либо результатов выполнения из процедуры в реализации концепции патерного программирования.
В концепциях ООП это можно сравнить с принципом работы "фАБРИКИ", если так можно выразиться, когда например тебе необходимо получать различные объекты исходя из того что ты в неё загрузишь, неплохо применять для получения таких результатов непосредственно временные таблицы.
Как ООП в oracle работает, мне пока сложновато понять, сижу курю бамбуки и втыкаюсь )))))))) Задаю глупые вопросы и всё в этом роде, за что меня пинают, ну что поделать, всегда сложновато въезжать во что-то новое ))))) Особенно если ещё к синтаксису не привык )))

В рамках нашего проекта, где в качестве БД использовалась MS-SQL 2005 ООП и не пахло ))))
...
Рейтинг: 0 / 0
создание объектов
    #39446200
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015Как ООП в oracle работает,Накуя козе (тебе) баян (ООП)?
...
Рейтинг: 0 / 0
создание объектов
    #39446267
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RMagistr2015для передачи скопа параметров, или для получения каких-либо результатов выполнения из процедуры

refcursor
table of ...
xmltype

Объектные типы реально нужны в очень редких случаях.
...
Рейтинг: 0 / 0
создание объектов
    #39447017
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envRMagistr2015для передачи скопа параметров, или для получения каких-либо результатов выполнения из процедуры

refcursor
table of ...
xmltype

Объектные типы реально нужны в очень редких случаях.

У нас они оооооооооооооочень часто используются ))
...
Рейтинг: 0 / 0
создание объектов
    #39447203
RMagistr2015В рамках нашего проекта, где в качестве БД использовалась MS-SQL 2005 ООП и не пахло ))))

Так вы не студент уже... Я все хотел написать, что для вы задавный студент - спрашиваете, пытаетесь докопаться. Но это для студента.. Иначе печаль
...
Рейтинг: 0 / 0
создание объектов
    #39447239
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Салтыков-Карамзин,

Поспешные выводы.

Будьте оптимистом, читайте как "в рамках нашего курсового проекта"
...
Рейтинг: 0 / 0
создание объектов
    #39447367
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envСалтыков-Карамзин,

Поспешные выводы.

Будьте оптимистом, читайте как "в рамках нашего курсового проекта"

Вообще это в рамках образовательного проекта )))
...
Рейтинг: 0 / 0
создание объектов
    #39447369
RMagistr2015
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Салтыков-КарамзинRMagistr2015В рамках нашего проекта, где в качестве БД использовалась MS-SQL 2005 ООП и не пахло ))))

Так вы не студент уже... Я все хотел написать, что для вы задавный студент - спрашиваете, пытаетесь докопаться. Но это для студента.. Иначе печаль
Так что можно считать что я студент ))) Гражданской наружности ))))
Вообще если филосовски подойти к вопросу, то все мы учимся всю жизнь )))
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / создание объектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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