使用以下sql创建视图:
create view [dbo].[tblDimSession] AS
SELECT *
FROM OPENQUERY(CDH_DEV_BJ_LS, 'select * from Session')
此视图是通过使用Hive访问数据创建的。
我想添加名为sessionID
,int
类型的新列,必须是自动增加的列。
如何更改视图,或者在创建视图时是否可以添加列?
谢谢。
答案 0 :(得分:0)
如果您只想在视图中添加其他列,可以在CREATE VIEW
或ALTER VIEW
期间在添加自动增量列的情况下完成它应该在表上完成而不是仅添加到视图。但是如果你必须将它添加到视图中,你可以通过以下方式进行。
CREATE VIEW MyView as Select *, MyExtraColumn From MyTable
与ALTER TABLE
不同,您不需要指定ADD
或DROP
语句,修改视图可以更多地与更改SP或表函数进行比较。要添加自动递增的列,您可以执行此操作
ALTER VIEW MyView as SELECT *, ROW_NUMBER() OVER (ORDER BY MyUniqueColumn) AS sessionID FROM MyTable
请注意,如果您执行的ORDER BY
列不是唯一的,则每次执行时您的号码都可能会更改。