这是我的观点
CREATE VIEW seat_availability AS
SELECT flightid,flightdate, maxcapacity,
FROM flight
我想添加2个名为'的预订座位'和' availableseats'它不存在于任何表中,但是我需要添加的列。
我已经在线完成了我的研究,有些人说你可以通过以下方式改变观点:
ALTER VIEW
有些人说你不能这样做,必须从你刚创建的视图进行编辑。
我试过这个:
CREATE VIEW seat_availability AS
SELECT flightid,flightdate, maxcapacity, bookedseats varchar(10), availableseats varchar(10)
FROM flight
给出了这个错误:
错误:语法错误在或附近" varchar"第2行:...... ECT flightid,flightdate,maxcapacity,bookedseats varchar(10 ...
我也尝试过ALTER VIEW:
ALTER VIEW seat_availability AS
SELECT flightid,flightdate, maxcapacity, bookedseats varchar(10), availableseats varchar(10)
FROM flight
我收到了这个错误:
错误:语法错误在或附近" AS"第1行:更改视图 seat_availability AS
如果列在其他表中存在,则添加列会很容易,但因为我需要添加2个不存在于任何表中的列,所以很难做到。如果有人可以提供帮助,我将非常感激。谢谢。
也许我可能需要放弃观点?并重新开始添加两个新列但是如何添加它们,因为它们不存在于我的数据库的任何表中?
答案 0 :(得分:1)
您没有像这样定义列的数据类型。您让视图使用这样的基础数据类型。
ALTER VIEW seat_availability AS
SELECT flightid
, flightdate
, maxcapacity
, bookedseats
, availableseats
FROM flight
或者,如果您需要显式更改数据类型,则需要像这样使用CONVERT。
ALTER VIEW seat_availability AS
SELECT flightid
, flightdate
, maxcapacity
, bookedseats = convert(varchar(10), bookedseats)
, availableseats = convert(varchar(10), availableseats)
FROM flight