在基础表上进行DDL更改后,是否会自动更新视图?

时间:2017-05-10 19:47:15

标签: sql view teradata ddl

我是teradata和SQL的新手。

假设我有一个带有列的表学校:id,name,role。并且视图建立在此表的顶部:

创建或替换查看教师作为选择*来自学校的角色='老师&#39 ;;

我现在向SCHOOL添加一个新列,比如subject_name。我是否需要重新执行CREATE OR REPLACE VIEW语句,以便TEACHER开始拾取这个新列,或者它是动态的,添加列将自动导致视图在下次调用时拾取新列。 / p>

2 个答案:

答案 0 :(得分:0)

他们没有。您需要重新编译“select * from”。

答案 1 :(得分:0)

每次更换表格时都需要更换视图 "选择*"在视图定义中意味着"在创建视图时选择表中的所有列"。如果随后更改了表(通过添加或删除列),则视图可能不一致。 这就是为什么有些人更喜欢在视图中命名所有列而使用" *"。