【问题标题】:Retrieve column name through db link in Oracle 11g在 Oracle 11g 中通过 db 链接检索列名
【发布时间】:2018-08-20 05:55:58
【问题描述】:

我想通过数据库链接从表中检索列名,但我无法做到...

虽然这个查询是有效的

SELECT *
FROM myTableName@myDbLink;

以下不是:

SELECT column_name
FROM all_tab_columns@myDbLink
WHERE table_name = 'myTableName'

检索列名的正确方法是什么?

【问题讨论】:

    标签: database oracle oracle11g dblink columnname


    【解决方案1】:

    案例问题。

    在 Oracle 中,表名 - 默认情况下 - 大写,所以 - 尝试使用

    SELECT column_name
    FROM all_tab_columns@myDbLink
    WHERE table_name = 'MYTABLENAME'
    

    【讨论】:

    • 如果选择中的 myTableName 有效,为什么 'MYTABLENAME' 应该有效?
    • @JaviOverflow : 请阅读stackoverflow.com/questions/7425153/…
    • 这真的很有趣!我不知道。但是,当我在选择查询中使用“myTableName”时,它仍然有效,所以我想我使用的是区分大小写的名称。
    • 混合大小写是邪恶,避免使用混合大小写创建Oracle对象。如果你想这样做,你将不得不使用双引号。如果你这样做,你将不得不在任何地方使用双引号,无论何时引用该对象,并且从不失败字母大小写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多