В чем разница между этими двумя созданиями табличных операторов?

dba.stackexchange https://dba.stackexchange.com/questions/1110

Вопрос

а)

SQL> CREATE TABLE xml_tab1(poDoc XMLTYPE);

Table created.

SQL> desc xml_tab1;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PODOC                                              PUBLIC.XMLTYPE

б)

SQL> CREATE TABLE xml_tab2 of XMLType;

Table created.

SQL> desc xml_tab2;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLE of PUBLIC.XMLTYPE

Код из здесь.

В первом мы создаем столбец типа XMLTYPE. Анкет Что делает второй? Когда мне следует использовать первый или второй?

Это было полезно?

Решение

Второе утверждение создает таблицу объектов.

Это почти никогда не тот случай, когда вы действительно хотите использовать таблицу объектов. Это было то, что было введено в временные рамки 8i, когда Oracle делал объект базы данных. Хотя многие объектно -ориентированные улучшения PL/SQL были полезны, использование типов объектов в SQL - это не то, что я бы порекомендовал.

Другие советы

... но опять же ... XML не имеет ничего общего с SQL, поэтому некоторые нормальные рассуждения могут не применяться ... (например, в отношении типов объектов).

Первым примером является XMLTYPE, и в зависимости от версии вашей базы данных базовое определение хранилища может быть Clob или BecondFile Binard File. Первый устарел от Oracle 12C и далее из-за не оптимальных причинах производительности.

Второй пример (таблица Xmltype) имеет, если синтаксис не более конкретный, как указано выше, также CefenceFile Clob или BesectFile Binary XML.

Пример столбца XMLType является более «SQL» нативным в его использовании (вставьте XML в столбец, выберите * из таблицы, где XMLColumn и т. Д.), Если таблица XMLType более нативна (вставьте XML в таблицу XML, (x) запрос «Док» DOC ». Применение).

Таблицы XMLTYPE можно легко использовать с помощью репозитория XMLDB XDB («Иерархия включена»), который можно использовать с автоматическим XML Schredding через, например, FTP, WebDAV или запрошены с помощью HTTP Access. Сделайте в этом расширении поведения, они также защищены с помощью реализаций безопасности ACL ACL.

Столбцы XMLTYPE могут иметь одинаковые характеристики FTP/WebDAV/HTTP, но реализация этой функциональности не так «из коробки», как в примере таблицы XMLTYPE.

Кстати, Oracle Objecty -Pliency была введена в Oracle 8.0.

Оба примера выше, в их текущей форме приведут к альтернативам SecureFile, которые не имеют ничего общего с функциональностью, ориентированной на объект.

Посмотрите на различия в случаях использования XMLTYPE и больше на главной домашней странице XMLDB

Oracle XML DB in Oracle Database 12c, June 2013
Best Practices for XQuery processing in Oracle Database, 12c June 2013
Best Practices for XML Storage in Oracle Database, 12c Oct 2013

http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html

Более подробную информацию и информацию о том, как можно найти на форуме Oracle XMLDB и/или на www.xmldb.nl (например, http://www.liberidu.com/blog/2007/06/24/oracle-11g-xmltype-storage-options/ Чтобы увидеть некоторые различия в отношении синтаксических различий между параметрами хранения XMLTYPE)

Hth

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top