2016-08-30 1 views
0

Я Яблоко и я пытаюсь просмотреть структуру таблицы «заказы».Просмотр/редактирование структуры таблицы с SQL в базе

Я использую Base

LibreOffice Versión: 5.2.0.4 Id. de compilación: 1:5.2.0~rc4-0ubuntu1~xenial2 Subprocesos de CPU: 1; Versión de SO: Linux 4.4

SQL заявление

select listagg(column_name ||','|| data_type ||','|| case 
when data_type in ('VARCHAR2', 'NVARCHAR2', 'CHAR', 'RAW') 
    then to_char(data_length) 
when data_type = 'NUMBER' and (data_precision is not null or data_scale is not null) 
    then data_precision || case 
when data_scale > 0 then '.' || data_scale 
end 
end, ',') within group (order by column_id) 
from all_tab_columns where table_name = 'orders'; 

Тогда SQL сообщает мне

1: Доступ запрещен: LISTAGG в заявлении [выбрать listagg (]

Примечание: очевидно ... простой способ в базовом интерфейсе: выберите «заказы»/щелкните правой кнопкой мыши/«Правка», и да, он откроет структуру «заказов» таблицы. Но я хочу использовать SQL для этого.

Заранее спасибо

JPablos

ответ

0

ведь это SQL заявление, чтобы сделать объект запроса на мой вопрос выше, и:

SELECT * FROM "INFORMATION_SCHEMA"."SYSTEM_COLUMNS" WHERE "TABLE_NAME" = 'Students' 

Где «Студенты» это имя таблицы, используемой для этого ответа.

Отчеты оператора SQL:

Result of the query

С наилучшими пожеланиями

JPablos

0

SQL-оператор записывается в базу данных Oracle. Функция LISTAGG не поддерживается HSQLDB.

Если вы используете базу LibreOffice вместе с последним HSQLDB 2.3.4 (вместо поставляемой версии 1.8.0), вы можете использовать функцию HSQLDB GROUP_CONCAT.

+0

Благодаря @fredt. Я изучаю использование SQL. Используемый оператор SQL был копией (http://stackoverflow.com/questions/39022808/retrieving-table-structure-with-dynamic-sql). Теперь, как я могу использовать кодGROUP_CONCAT/code? – JPablos

+0

Вам необходимо настроить банку HSQLDB 2.3.4 и узнать, как использовать различные функции из документов HSQLDB. http://hsqldb.org/doc/2.0/guide/index.html – fredt

Смежные вопросы