2010-03-12 61 views
0

是否可以用新数据更新相同的视图?在CREATE之后使用UPDATE似乎不起作用。如何创建视图并在以后更新?

只有1张表。希望视图成为该表的一个子集。使用该视图后,我希望同一个视图能够保存来自唯一表的不同数据子集。

在想我可以创建视图,删除它,然后再创建一个相同的名称ut不同的子集从表.....但不知道是否有更好的方法吗?

Create view ID 1-10 if it does not exist. 
. 
. // 
. // 
. 
Update view **ID** 2-10 

任何帮助表示赞赏。

+0

这与'c'有什么关系? – SLaks 2010-03-12 01:52:23

+0

C编码sqlite – 2010-03-12 01:54:03

回答

3

我想你是误解了一个观点的目的。通过更改WHERE子句,可以通过简单的选择来处理您尝试执行的操作。一个视图通常代表一个固定窗口进入由其选择标准定义的表格(或多个表格)。您通常不会动态更改视图以表示不同的选择标准。通常,如果要在视图中选择列的子集或在视图中执行多个表的联接,则只需针对表或视图本身进行选择即可。既然你有一张表,我建议你动态地构建你需要的查询并完全跳过视图。

select * from table where ID > 0 and ID <= 10 

然后

select * from table where ID > 1 and ID <= 10 

注意,在很多情况下,你可以这样保存为一个存储过程和参数化查询如果需要的话。如果您的语言/框架支持它,请在发出简单命令时使用参数化查询。

1

是的,对基表的更新将在视图中可见(所有其他条件相同)。 更多的信息会对您有所帮助。

1

视图是错误的工具。

您应该制作一个以ID范围作为参数的存储过程。

要回答这个问题,您正在寻找ALTER VIEW声明。

相关问题