如何定义游标,当我们在两个表之间有一个公共列而不给出别名时
Posted
技术标签:
【中文标题】如何定义游标,当我们在两个表之间有一个公共列而不给出别名时【英文标题】:How to define a cursor, when we have a common column between two tables without giving alias 【发布时间】:2018-07-16 18:42:29 【问题描述】:我有 4 张桌子:T1、T2、T3 和 T4。它们都有50多个列。以上4个表之间共有的列很少。假设 C1 存在于所有 4 个表中。上面的多个表之间还有一些共同的列。 现在,如果我将光标 CUR1 标记为:
cursor CUR1 as select * from T1,T2,T3,T4 where <join conditions for 4 tables>;
由于公共列 C1 的歧义,我在获取数据时出现 gettign 错误。 是否可以在不列出每个列名及其别名的情况下避免错误? 不知何故,我可以在不为每一列指定别名的情况下为表的所有列附加任何指示符吗? 谢谢。
【问题讨论】:
【参考方案1】:据我所知,不可能。但是,如果您经常使用相同的 FROM ... WHERE
子句,您可以创建一个 view (因此,只做一次,指定每一列 - 及其别名 - 以避免错误)然后在SELECT
语句中使用视图。
【讨论】:
以上是关于如何定义游标,当我们在两个表之间有一个公共列而不给出别名时的主要内容,如果未能解决你的问题,请参考以下文章
当索引依赖于该列而不重新创建索引时,如何将列从 null 更改为非 null?