问题标签 [updatable-views]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
591 浏览

mysql - MySQL中可更新视图的主键

是否可以在 MySQL 中的可更新视图上创建主键。如果是这样,我们如何创建它?

0 投票
1 回答
1070 浏览

sql-server - 而不是使用合并触发视图不应用表默认值

我有一个可更新的视图,它使用一个代替触发器来进行插入/更新。该触发器使用合并。我发现 Merge 语句没有应用来自底层物理表的默认约束,尽管合并文档建议它应该这样做。

以下示例演示:

我看到有人在使用 INSTEAD OF INSERT 触发器中的默认值中有类似的东西,并通过将插入的行复制到临时表中然后更改临时表以添加物理表中的默认约束来解决它。我不确定我能否容忍这些额外步骤的性能问题。

0 投票
2 回答
1357 浏览

mysql - 如何使用从 case 语句派生的列更新视图?

我使用它创建了一个视图(忽略了其他列):

但是当我尝试使用以下方法更新视图时:

这没用。有什么办法吗?视图在 Oracle 中,但远程表在 mySQL 中

0 投票
1 回答
436 浏览

sql - Oracle SQL 中可更新视图的用途是什么?

我一直在寻找并且找不到列出使用可更新视图(可以通过影响目标表的修改进行修改)的好处的任何地方。

我理解为什么物化视图很有用(速度、安全性等),但由于可更新视图不​​能包含连接和其他有用的优化......

谁能列出为什么它们可能有用?我确信甲骨文有充分的理由实施它们。

0 投票
1 回答
8409 浏览

sql - 具有多个基表和完整性能的 Microsoft SQL Server (MSSQL) 可更新视图

我正在使用 MSSQL 2008 R2。它具有可更新视图的便利功能。例如,如果我有一个表 t 映射 id 到名称:

然后是另一个表,给出了一些 id 和更多信息:

为方便起见,一个视图让我看到 u 中的行增加了 name 列:

那么我现在可以按名称而不是 id 进行更新:

最方便。但是如果我想删除“fred”的行会发生什么?

我得到错误

视图或函数“v”不可更新,因为修改会影响多个基表。

正如在带有连接表的 SQL 可更新视图(指 Oracle,但 MSSQL 的情况似乎相同)中解释的那样,只要只有一个保留键的表,您就可以对多个基表拥有可更新视图;粗略地说,这是表格中的任何行在视图中最多出现一次的地方。在上面的视图中,我们可以看到 t 和 u 都是保留键的表。但是我们可以通过调整视图定义来作弊:

这给出了与以前相同的行,但现在允许更新:

从语义上讲,来自 t 的任何行在视图中最多出现一次仍然是正确的,但是因为我们没有以正常方式加入 t,所以我们没有达到更新限制。此外,我们还可以从此视图中删除:

这是正确的,从基础表 u 中删除而不是从 t 中删除。很明显,由于早期的观点表示为简单的连接,没有办法判断“删除”操作是应该从 u 中删除行还是从 t 中删除行(或两者)。

对于许多“选择”查询,使用重写视图的执行计划有点不同,所以我可能希望它在某些情况下执行得慢一些。遗憾的是优化器无法看到(在这种特殊情况下,存在唯一索引)两个视图具有相同的数据。

您还可以使用函数创建可更新视图:

这可能会给出不同的(通常更复杂的)查询计划,因此它可能会更慢。

所以我们有两种可能的方法来制作可更新的视图,但它们并不完全令人满意。让更新和删除操作正常工作会很好,但要确保视图在选择查询上的执行不会比两个表的简单连接更差;也许您可以给查询引擎一些提示。有人可以提出一些建议吗?

0 投票
3 回答
1095 浏览

android - 如何在 Widget 的 TextView 中显示当前时间

我想在可更新的 textView 中显示当前时间我找不到真正的方法我希望它每分钟更新一次请有人可以帮助我吗?谢谢

0 投票
1 回答
59 浏览

c# - 通过表单更新视图?

是否可以通过表单更新数据而不将表单绑定到原始表?

我们需要用户更新 SQL 视图映射到的主表中的一小部分数据,下面是用于更新数据的代码示例:

不幸的是,由于视图不能包含主键,因此在尝试更新数据时出现以下错误:

无法更新 EntitySet 'AddressView',因为它有一个 DefiningQuery 并且元素中不存在支持当前操作的元素。

在不使用典型的 SQL 更新语句的情况下是否有可能的解决方法,如果可能的话,我想坚持使用实体框架。

0 投票
1 回答
1019 浏览

java - Updating rows of updatable view with ResultSet.updateRow function

I have updatable view on PostgreSQL server.

Update query works fine when I execute it from pgAnmin3 console, but when I try to update this view with ResultSet.updateRow() method, I get the following error:

org.postgresql.util.PSQLException: No primary key found for table

I guess I can't specify primary key for view.

Can I specify key columns for ResultSet.updateRow() method in my client application? Or can I specify a WHERE clause for ResultSet.updateRow() method?

Here are my tables

This insert statement works fine

But the problem with this java code

0 投票
1 回答
139 浏览

mysql - 无法创建可更新的 MySql 视图

我正在尝试在 MySql 中创建一个可更新的视图,但结果不可更新。Attrepgen 是一个表,其中第一个字段 (aidx = numauto) 是 PK。

知道为什么 attrepusr 不可更新吗?

有关信息,表 attrepgen :

我有点疑惑。

0 投票
0 回答
133 浏览

android - 如何在没有按钮的情况下更新数据

我需要帮助如何通过 android 应用程序中的网站更新数据。我已经通过网站获取数据,但我不知道自动更改数据的任何想法或示例。

重新启动应用程序或单击时的数据更改。请告诉我如何自动更新数据。

MainActivity.java

activity_main.xml

见输出