powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Obect-oriented features
6 сообщений из 6, страница 1 из 1
Obect-oriented features
    #32177376
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Знакомлюсь с Oracle, а конкретно с использованием объектов в нем.

Пробую делать так:

Код: plaintext
1.
2.
3.
4.
CREATE TYPE worker AS OBJECT (
  work_id NUMBER
  work_name VARCHAR
  )




ОК. Теперь так -

Код: plaintext
1.
2.
3.
CREATE TABLE WORKERS (
       wk   worker
  );



Получаю сообщение о том, что неверный тип данных. В чем дело ?

Заранее благодарю.
...
Рейтинг: 0 / 0
Obect-oriented features
    #32177388
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
CREATE TYPE worker AS OBJECT (
  work_id NUMBER
  work_name VARCHAR
  )


Ты хочешь сказать что эта команда у тебя без ошибки выполнилась?
...
Рейтинг: 0 / 0
Obect-oriented features
    #32177393
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. А в чем проблема ? Я чего то не понимаю ?

Выполнилась и более того запрос:

Код: plaintext
SELECT * FROM DBA_TYPES ORDER BY TYPE_NAME


возвращает набор данных в котором присутствует и мой тип.
...
Рейтинг: 0 / 0
Obect-oriented features
    #32177427
raven13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понимаешь просто ты пропустил запятую, да и определения типов надо знать. Тип сформировался, но он инвалидный.

Это и спрашивал у тебя softbuilder@inbox.ru

Пробуй так

TYPE WORKER AS OBJECT (
work_id NUMBER,
work_name VARCHAR(30)
)
...
Рейтинг: 0 / 0
Obect-oriented features
    #32177444
Divan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ошибки.
1-я не указал запятую.
2-я в типе Varchar укажи размер

вот так вот.

CREATE TYPE worker AS OBJECT (
work_id NUMBER,
work_name VARCHAR(50)
);

CREATE TABLE WORKERS (
wk worker
);

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

update TABLE WORKERS t set
t.worker=worker(NULL,NULL) where t.worker IS NULL;

и теперь работай
...
Рейтинг: 0 / 0
Obect-oriented features
    #32177450
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Divan

Объектный тип нужно проинициализировать, вот так вот

update TABLE WORKERS t set
t.worker=worker(NULL,NULL) where t.worker IS NULL;


А какие проблемы возникают если этого не сделать? Хочеться знать на будущее.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Obect-oriented features
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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