sql - 在 sql 中返回一个默认行

标签 sql oracle unix

如果没有找到行,oracle sql 中是否有可能返回默认行。
我有一个过程,其中提取的行将被放入一个平面 ascii 文件中。
现在我有一个要求,如果 sql 查询没有获取任何行,那么 ascii 文件中应该有一个默认行。

如果查询未获取任何行,是否可以在 sql 中输出默认行
注意:我不想使用 pl/sql。

最佳答案

对于查找结果集中是否有一行的开销很大或查询非常大且笨拙的复杂查询,子查询分解子句可能是有益的:

With my_query as
    (
    select a, b, c from foobar where foo='FOO' 
    )
Select a,b,c
From   my_query
Union All
Select ...
From   dual
Where  Not Exists
       (Select 1 from my_query)
/

关于sql - 在 sql 中返回一个默认行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722299/

相关文章:

java - 如何生成带有双反斜杠或正斜杠分隔符的目录路径?

sql - RDBMS数据库中的多对多关系

php - 在 PHP 和 MySQL 中使用循环进行多个更新查询

用于按组和总计数获取计数的mysql查询

sql - PLSQL 性能问题

oracle - 无需DBA权限即可更改不同数据库下多个模式的密码?

regex - 使用 'awk' 从日志文件中提取特定的 XML 模式

Sql Server查询varchar数据像int一样排序

c - 我无法在 ubuntu 上编译 OCILIB

javascript - javascript的src属性中的 `//`有什么作用?