我正在尝试创建一个具有两个额外字段的视图。我有这段代码可以完成一个额外的工作
CREATE VIEW STRANKEPView AS (
SELECT *, COALESCE(CONCAT('P-',strp_ID)) AS strp_nas_br
FROM STRANKEP
);
我需要再添加一个为
CONCAT('A',strp_aa, '.')) AS strp_aa_nas_br
我在任何地方都找不到这种示例,而我尝试过的任何方法都没有用。我要如何加入?沿线的东西:
CREATE VIEW STRANKEPView AS (
SELECT *, COALESCE(CONCAT('P-',strp_ID)) AS strp_nas_br
AND COALESCE(CONCAT('A',strp_aa,'.')) AS strp_aa_nas_br
FROM STRANKEP
);
或者我可能需要更改使用第一条语句创建的VIEW。但是,当我这样做时,我得到的错误是STRANKEPView不是表
ALTER VIEW STRANKEPView AS (
SELECT *, COALESCE(CONCAT('A',strp_aa,'.')) AS strp_aa_nas_br
FROM STRANKEPView
);
要更改现有视图,请使用ALTER VIEW
。
您选择的字段用,
而不是AND
分隔。
ALTER VIEW STRANKEPView AS (
SELECT *, CONCAT('P-',strp_ID) AS strp_nas_br,
CONCAT('A',strp_aa,'.') AS strp_aa_nas_br
FROM STRANKEP
);
仅使用一个参数使用COALESCE()
是没有意义的,因此我从视图中将其删除。 COALESCE()
的目的是在参数为NULL
时返回备用值。如果您不提供替代值,则它没有任何用处。