小编Jam*_*esF的帖子

尝试从SQL Developer导出时,SPOOL返回空文件

我有一系列想要输出到.csv文件的查询.我必须查询数据库的唯一工具是SQL Developer.

我可以运行每个查询,然后使用SQL Developer中的导出对话框将它们写入文件,但这很麻烦,尤其是每天需要对多个文件执行此操作时.

这适用于某些人 使用SQL Developer直接将查询导出到CSV

但它对我不起作用.

例如,如果我尝试

spool "C:\Users\james.foreman\Downloads\Temp\myfile.csv"

select distinct placement_type
FROM jf_placements;

spool off;
Run Code Online (Sandbox Code Playgroud)

然后在SQL Developer的脚本输出窗格中,我看到了

无法创建SPOOL文件C:\ Users\james.foreman\Downloads\Temp\myfile.csv

虽然myfile.csv已创建,但没有结果.(查询返回了两行.)

我的第一个想法是写入C:\ Users\james.foreman\Downloads\Temp有权限问题,但似乎并非如此,因为如果我删除myfile.csv然后运行SQL,重新创建了myfile.csv文件,但它中没有任何内容.

所以我认为这是一个配置问题,无论是使用我运行SQL Developer的Windows机器,还是我的SQL Developer设置.我应该在哪里进一步调查?

@Devolus 对将表导出到多个csv文件的过程的回答包括"在SQL窗口右键单击 - >将窗口更改为 - >命令窗口"的说明,但如果我右键单击SQL窗口,我看不到更改窗口选项.

(运行Windows 7,SQL Developer版本4.0.2.15,Build 15.21,数据库是Oracle 11.2)

oracle oracle11g oracle-sqldeveloper

8
推荐指数
2
解决办法
1万
查看次数

为什么不总是在Oracle中检索与MINUS相同的结果?

我有两张桌子:

CREATE TABLE test1
(id int);

CREATE TABLE test2
(id int);

INSERT INTO test1
VALUES (1);

INSERT INTO test1
VALUES (2);

INSERT INTO test2
VALUES (1);
Run Code Online (Sandbox Code Playgroud)

然后我想查看test1中所有id的列表,而不是test2中的id.

我至少有三种方法可以做到这一点:

外部加入:

SELECT a.id
FROM test1 a LEFT OUTER JOIN test2 b 
ON a.id = b.id
WHERE b.id IS NULL;
Run Code Online (Sandbox Code Playgroud)

:

SELECT id
FROM test1
MINUS
SELECT id
FROM test2;
Run Code Online (Sandbox Code Playgroud)

不在:

SELECT id
FROM test1
WHERE id NOT IN (
                 SELECT id 
                 FROM test2
                );
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.所有这三个查询都应该给我相同的结果:1行,值为2.

如果我在test2中插入一个null,那么OUTER JOIN和MINUS查询将继续返回相同的结果,但NOT IN不会返回任何行.

这让我很困惑.然后我注意到,如果我把它改成了 …

sql oracle

6
推荐指数
1
解决办法
154
查看次数

为什么我的 postgres 表在更新后变得更大?

我有一个表,聚集在两列上(销售点和产品 ID)。唯一的索引位于这两列中,并且表聚集在这些列上。

我每周都会更新表中的其他列。当我这样做时,表和关系的大小增加了大约 5 倍。然后,我对表进行聚类,大小恢复到更新前的大小。

这对我来说似乎很奇怪。如果我要更新索引列,我预计需要通过清理来处理一些膨胀,但由于索引列没有被任何更新修改,我不明白为什么更新表会导致以增加尺寸。

这是否按预期工作,或者这是否表明我的配置存在问题?有办法阻止这种情况吗?

[Windows 7 上的 Postgres 9.1]

postgresql

5
推荐指数
1
解决办法
1666
查看次数

在表格的每一行中找到最小值的优雅方法是什么?

我有一张桌子,每个产品有一排,以及产品在十个不同商家的价格.我希望看到的是每个产品在这些不同商家中的最低价格.

在Excel中这很容易,因为MIN()函数适用于任何一组单元格,无论它们是水平还是垂直排列.但是,SQL中的MIN()仅作用于列,因此我能够找到所有产品中最便宜的商家1等价格.

是否有一种优雅的方式来获得每行的最低价格?(是否有可以执行此操作的OLAP函数,或者是否必须使用循环来解决问题?)

sql postgresql

1
推荐指数
1
解决办法
91
查看次数

标签 统计

oracle ×2

postgresql ×2

sql ×2

oracle-sqldeveloper ×1

oracle11g ×1