Sql 如何选择“表格名称”作为临时工作?

Sql 如何选择“表格名称”作为临时工作?,sql,oracle11g,Sql,Oracle11g,我在我维护的一些代码中发现了这个工作语句: SELECT 'TABLE_NAME' AS TEMP FROM TABLE_NAME WHERE ROWNUM = 1 虽然我熟悉AS对表列的使用,例如 我找不到将整个表的名称用作列的文档 这是怎么回事?这种语句的预期用途是什么?看起来他们只是在选择表名的文本字符串,并将其放入名为TEMP的列中。由于其中ROWNUM=1,它将只返回一行。他们本可以很容易地做到: SELECT 'TABLE_NAME' AS TEMP FROM DUAL 至于你会

我在我维护的一些代码中发现了这个工作语句:

SELECT 'TABLE_NAME' AS TEMP
FROM TABLE_NAME
WHERE ROWNUM = 1
虽然我熟悉AS对表列的使用,例如

我找不到将整个表的名称用作列的文档


这是怎么回事?这种语句的预期用途是什么?

看起来他们只是在选择表名的文本字符串,并将其放入名为TEMP的列中。由于其中ROWNUM=1,它将只返回一行。他们本可以很容易地做到:

SELECT 'TABLE_NAME' AS TEMP FROM DUAL

至于你会用它做什么。。。这是个好问题

验证表的存在性以及至少有一条记录的表?顺便说一句,如果它没有引用实际的表名,那么DUAL语句与我的OP中的语句如何等效?他们从表名中选择实际上并不重要。他们选择的是实际字符串“TABLE_NAME”。它是一个文本值,不是来自列或其他魔法。实际上,表名很重要。这就是这个语句检查case table_NAME中的特定表是否为空的方式。那么,这是有意义的。在这种情况下,您可以从ROWNUM=1的表_NAME中选择任何文本ex:SELECT 1
SELECT 'TABLE_NAME' AS TEMP FROM DUAL