0
我正在研究依赖于Teradata对象元信息来执行一些检查和测试的应用程序。使用 'SHOW VIEW',我注意到,意见可以通过两种方式来指定:显式指定返回列的视图和不显示列的视图之间的区别(Teradata)是什么?
1)显式列
REPLACE VIEW dw_v_customer
(
col1, col2
)
AS LOCK ROW ACCESS
SELECT
t1.col1, t2.col2
FROM table1 t1
LEFT OUTER JOIN table2 t2
2)没有明确的列
REPLACE VIEW dw_v_customer
AS LOCK ROW ACCESS
SELECT
t1.col1, t2.col2
FROM table1 t1
LEFT OUTER JOIN table2 t2
问题:是这些创建/替换视图定义的方式有什么不同?
没有真正的区别。但#1中的显式列名将覆盖别名,例如'REPLACE VIEW dw_v_customer ( foo ) SELECT t1.col1 as bar' result in column name * foo *。如果你想解析输出,你可以考虑使用'SHOW IN XML VIEW'来代替,这里也包括数据类型。 – dnoeth
@dnoeth - 所以,括号中的列将是最终的别名。 'SHOW IN XML VIEW'对于查找数据类型非常有用,因为'columnsv'似乎只显示表(列)。我认为你的评论可以成为这个问题的答案。谢谢。 – Alexei