powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Составление PL/SQL функции, возвращающей объект
4 сообщений из 4, страница 1 из 1
Составление PL/SQL функции, возвращающей объект
    #39703014
Gingerbread20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Имеется следующая задачка:
Классификация живых организмов в общем виде состоит из следующих элементов: тип, класс, отряд, семейство, род, вид. Например: «Хордовые, Млекопитающие, Приматы, Гоминиды, Люди, Человек разумный».
Требуется составить PL/SQL функцию, которая в качестве входного аргумента получает строку с классификацией, а на выходе возвращает объект типа T_ classification.

Описал структуру объекта:
CREATE OR REPLACE TYPE "T_ classification" AS OBJECT
(
TYPES VARCHAR2(250), --тип
CLASS VARCHAR2(250), --класс
UNIT VARCHAR2(250), --отряд
FAMILLY VARCHAR2(250), --семейство
GENUS VARCHAR2(250), --род
SPECIES VARCHAR2(250), --вид
)

Может кто-нибудь подсказать, как можно составить требуемую функцию?
Понимаю, что нужен парсинг строки, но как это реализовать? Я полный профан в PL/SQL функциях, к сожалению.
...
Рейтинг: 0 / 0
Составление PL/SQL функции, возвращающей объект
    #39703015
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gingerbread20как можно составить требуемую функцию?Вариантов два: нанять специалиста, стать специалистом.
...
Рейтинг: 0 / 0
Составление PL/SQL функции, возвращающей объект
    #39703045
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел, как обычно, дать ссылку Студентам, желающим помощи .
Но в выходной можно и поразвлекаться.
Неправильный код 2.sql

Код: 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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
Connected to Oracle Database 18c Standard Edition 2 Release 18.0.0.0.0 
Connected as system@TEST

SQL> @C:\_work\1.sql

Type dropped


Function dropped


Type created


Function created


Search: [Sapiens Sapiens]

PL/SQL procedure successfully completed


SQL> @C:\_work\2.sql

Function dropped


Type dropped


Type created


Warning: Function created with compilation errors

begin
  dbms_output.put_line('Search: ['||fu1('search')||']');
end;

ORA-06550: line 2, column 37:
PLS-00905: object SYSTEM.FU1 is invalid
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored

SQL> host type c:\_work\2.sql
drop function fu1;
drop type "T_ classification";
CREATE TYPE "T_ classification" AS OBJECT
(
TYPES VARCHAR2(250), --тип
CLASS VARCHAR2(250), --класс
UNIT VARCHAR2(250), --отряд
FAMILLY VARCHAR2(250), --семейство
GENUS VARCHAR2(250), --род
SPECIES VARCHAR2(250) --вид
);
/
create function fu1(p_search varchar2) return type_class
as
  t T_ classification;
begin
  t(v_species) := 'Sapiens Sapiens';
  return t;
end;
/
set serveroutput off;
begin
  dbms_output.put_line('Search: ['||fu1('search')||']');
end;
/

SQL> 



Напишите 1.sql.
...
Рейтинг: 0 / 0
Составление PL/SQL функции, возвращающей объект
    #39703105
Gingerbread20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,

Спасибо Вам большое! буду разбираться.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Составление PL/SQL функции, возвращающей объект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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