【发布时间】:2010-09-08 13:28:42
【问题描述】:
我正在使用 Oracle DB,我想编写一个 SQL 查询,然后我可以使用 JDBC 调用该查询。我对 SQL 不是很熟悉,所以如果有人可以帮助我,那就太好了!这是问题所在。我有一个表 MY_TABLE ,其中包含另一个表的列表,我想只保留非空表以及它们的名称以特定字符串开头的表。 我写的查询如下:
select TABLE_NAME
from MY_TABLE
where TABLE_NAME like '%myString%'
and (select count(*) from TABLE_NAME where rownum=1)<>0
order by TABLE_NAME;`
问题来自第二个 SELECT,但我不知道如何使用 TABLE_NAME 值。
有人有想法吗?
谢谢。
[从 cmets 添加]
实际上,我需要测试 ALL_CATALOG 表中包含的 V$ 视图。但是,如果我能找到另一个包含所有这些视图并且也包含 NUM_ROWS 列的表,那将是完美的!
【问题讨论】:
-
您的数据模型有问题。它至少与 JDBC 无关,它只是使用 Java 触发和处理 SQL 查询的“信使”。所以我删除了标签。
-
做不到;不应该这样做。
-
因为 JDBC 不允许您绑定表名或列名。
-
难道不能创建一个可以做到这一点的SQL函数,然后从JDBC调用prepareCall()方法吗?
-
视图没有行,v$view 甚至没有“真实”的表数据。如果你用实际的方式解释你想要达到的目标,而不是如何实现,你可能会得到更有用的答案
标签: sql oracle select tablename