Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL DB2中更改视图,添加新列_Sql_View_Db2_Alter - Fatal编程技术网

在SQL DB2中更改视图,添加新列

在SQL DB2中更改视图,添加新列,sql,view,db2,alter,Sql,View,Db2,Alter,我通过按系列和值排序创建了一个视图orderedView,如下所示: series | values 1 | 1 1 | 3 1 | 5 1 | 6 2 | -1 2 | 0 2 | 4 2 | 5 现在,我想在我的视图中添加第三列,它从1到结尾枚举每一组序列,如 series | values | row_ID 1 | 1 | 1 1 |

我通过按系列和值排序创建了一个视图orderedView,如下所示:

series | values  
     1 | 1  
     1 | 3  
     1 | 5  
     1 | 6  
     2 | -1  
     2 | 0  
     2 | 4  
     2 | 5
现在,我想在我的视图中添加第三列,它从1到结尾枚举每一组序列,如

series | values  | row_ID  
     1 |    1    | 1  
     1 |    3    | 2  
     1 |    5    | 3  
     1 |    6    | 4  
     2 |    3    | 1  
     2 |    6    | 2  
     2 |    8    | 3  
     2 |    9    | 4  
我试过了

ALTER VIEW orderedView
    ADD COLUMN ROW_ID INT NOT NULL;
但intelliJ表示,在ALTER VIEW orderedView ALTER、DISABLE或ENABLE预期后,得到了“ADD”

甚至可以通过添加新列来更改视图,还是必须在创建视图之前添加列?如果是这样,怎么做


提前感谢您的帮助。

您必须删除并重新创建视图。视图是一个查询,您必须修改此查询…

这里是第一个google结果:要更改视图定义(例如,要添加其他列),您必须删除视图并使用create view语句创建一个新视图。这对我没有帮助,因为我想通过表中以前不存在的列来扩展视图,该视图是从中检索到的。即使我删除视图并尝试ALTER view orderedView ADD COLUMN ROW_ID INT NOT NULL;我也有同样的错误。为什么要删除视图,而不是使用CREATE-ALTER命令进行重新创建?只需使用所有三列重新创建视图。你能粘贴create ddl和与之相关的错误吗?这就是我用ALTER VIEW orderedView ADD COLUMN ROW_ID INT NOT NULL尝试的方法;一开始,但没有起作用。添加以前不存在的新列的正确语法是什么?顺便说一句,在第二个修改过的表中有一个输入错误,其中series=2和row_id=1的值应该是-1,就像在第一个表中一样。好的,谢谢,如果有人能帮助我在添加和填充row_id的同时创建一个新视图,那就太好了。我现在有了这样一个功能:创建视图orderedView作为selectseries,VALUES,ROW_ID fromoriginableorderbyseries,VALUES;但是我的所有ROW_ID条目仍然为null。ROW_ID在您的originalTable中为null,请更新您的originalTableBe警告,由于无法更改DB2中现有视图的限制,在IBMi DB2上,从该视图派生的所有其他视图也将消失。一点也不友好。这在Microsoft SQL Server中很容易实现。