使用SQL在Base中查看/编辑表结构

时间:2016-08-30 09:41:34

标签: sql database-design hsqldb

我是JPablos,我试图查看“订单”表的结构。

我正在使用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 [select listagg(]

注意:显然......在基本UI中的简单方法:选择“订单”/右键单击/编辑,是的,它打开表“订单”的结构。但是,我想用SQL来做它。

提前致谢

JPablos

2 个答案:

答案 0 :(得分:0)

SQL语句是为Oracle数据库编写的。 HSQLDB不支持LISTAGG函数。

如果您将LibreOffice与最新的HSQLDB 2.3.4(而不是捆绑的1.8.0版本)一起使用,那么您可以使用HSQLDB函数GROUP_CONCAT

答案 1 :(得分:0)

毕竟它是一个SQL语句来执行我上面问题的查询对象,并且是:

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

其中"学生"是用于此答案的表的名称。

SQL语句报告:

Result of the query

祝你好运

JPablos