gpt4 book ai didi

sql-server - 向 SQL 中的 View 添加新列

转载 作者:行者123 更新时间:2023-12-03 12:33:14 26 4
gpt4 key购买 nike

这是我的看法

CREATE VIEW seat_availability AS
SELECT flightid,flightdate, maxcapacity,
FROM flight

我想添加 2 个名为“bookedseats”和“availableseats”的新列,它们在任何表中都不存在,但我需要添加这些列。

我在网上做了我的研究,有人说你可以使用以下方法改变观点:
ALTER VIEW 

有些人说你不能这样做,必须从你刚刚创建的 View 中进行编辑。

我试过这个:
CREATE VIEW seat_availability AS
SELECT flightid,flightdate, maxcapacity, bookedseats varchar(10), availableseats varchar(10)
FROM flight

这给出了这个错误:

ERROR: syntax error at or near "varchar" LINE 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

我收到了这个错误:

ERROR: syntax error at or near "AS" LINE 1: ALTER VIEW seat_availability AS



如果其他表中存在列,则添加列会很容易,但是因为我需要添加任何表中都不存在的 2 列,所以很难做到。如果有人可以提供帮助,将不胜感激。谢谢你。

也许我可能需要放弃这个观点?并重新开始添加两个新列,但是我如何添加它们,因为它们不存在于我的数据库中的任何表中?

最佳答案

您不会像那样定义列的数据类型。你让 View 像这样使用底层数据类型。

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

关于sql-server - 向 SQL 中的 View 添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43241158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com