我是Oracle最终用户,而不是数据库开发人员或管理员。Oracle持久列别名
我们的数据库已经在列名的一些错字,类似于一列被命名的ADRESS2
代替ADDRESS2
我在查询中使用这些列,并且要记住适用于哪一列其中错字很难。另外,我是 anal persnickety关于这使我的代码看起来(不那么专业)的方式。
我怀疑没有机会让这些列在生产中实际重命名 - 这将是一个低优先级与大量的依赖关系。
这种情况下的最佳做法是什么?
我能想到的几个选项:
- 添加评论认为,错字是故意
- 换表与
select(bad_name good_name, * from table)
- 创建基于上述
视图但有没有办法做这样的事情:
DECLARE address2 CHAR(8) := 'adress2';
并在查询中使用,但返回的值为ADRESS2
而不是char“adress2”。
所需的解决方案将是一个做法是:
- 不会增加查询
- 将被开发为的情况下列名是笨拙或误导 一个反应识别的复杂性
对OP的道歉 - 我看到你在11g上。没有“INVISIBLE”专栏(这是12c的功能)。 –
没关系,这仍然是很好的知道。 – C8H10N4O2
不需要它是隐形的。你可以把它作为'alter table sample_table add address2 always always as(addres2 ||'')virtual;' - 这个可以在11g第1版上运行。 – g00dy