问题标签 [database-view]

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 回答
212 浏览

sql - 使用多个查询在 oracle 中创建视图

我有 2 张桌子:

我想创建一个相当于

但是,当我尝试使用以下内容创建视图时出现错误:

我正在使用 Oracle12c 数据库。

0 投票
0 回答
44 浏览

ruby-on-rails - 有 WITH 语句时不执行 Postgres 查询

我正在应用风景宝石为 Postgres 数据库创建数据库视图。我有一个包含 73k 记录的订单 (ops_orders) 表和属于具有 170k 记录的订单的订单行项目 (ops_order_line_items)。

问题是查询的 WITH 语句执行时间过长,以至于它无限期地挂起:

但是,当我更改为:

Postgres 中的 WITH 语句是否性能不佳?我进行了研究,但没有发现任何有关 WITH 语句性能不佳的文件。期待有用的解释。

0 投票
1 回答
169 浏览

asp.net-mvc - 输出带有html结构的sql

有没有办法将 HTML 结构存储在 SQL 视图中,并通过控制器将其与存储的 HTML 结构一起输出?

例如,这是一个示例 HTML,我想将其存储在 SQL 视图中并通过控制器输出

控制器动作:

0 投票
1 回答
400 浏览

sql-server - sp_refreshview 附近的语法不正确

我们的一个表丢失了一列,需要刷新相关视图。我自己为一个视图运行了过程 sp_refreshview ok,尽管我必须选择实际的数据库,即使我有DB.dbo.View_name扩展名。

我现在想在一个执行表更新的脚本中运行其中一些更新视图语句,但不断收到此错误消息,提示 sp_refreshview 附近的语法不正确。我尝试将 go 放在语句之后以包含它,并USE [DB_Name]在每次更新之前使用语句。如下所示:

由于某种原因,它一直失败。当然,这是我第一次设置批处理脚本来更新不同数据库中的多个视图,所以如果有更好的方法来做到这一点,我愿意接受建议。

0 投票
1 回答
848 浏览

c# - MongoDB Projection 在查询中有效,但在创建视图时无效

我有一个名为“Test”的 MongoDB 数据库。在这个数据库中,我在“人物”集合中有一个人的集合。people 集合包含以下文档的数组:

鉴于当您向某人添加地址时地址 ID 会增加,并且地址是按时间顺序添加的。然后,我可以使用以下查询代码预测该人的当前状态。

当我遍历结果时,我得到以下输出: 100,“Sally Parker”,“New York” 101,“John Smith”,“Nevada” 102,“Fred Jones”,“Texas”

当我尝试在 MongoDB 中创建一个包含相同信息的视图时,我没有得到相同的结果。我知道我做错了什么,但我找不到一个很好的例子来做我想做的事。

我得到的结果是这样的。

有谁知道我如何在 MongoDB 中创建一个视图,它会给我与查询相同的结果?

0 投票
2 回答
7241 浏览

java - 没有实体主键的 JPA 映射视图

我有一个没有主键的数据库视图。它有一组列,用于唯一标识视图中的一行,但其中三列可以是null. 我尝试使用基于这四列的复合主键创建一个实体,但是从视图中检索数据时出现此错误:

有什么我可以做的,例如,在定义视图时添加一个自动生成的列?

0 投票
1 回答
95 浏览

mysql - 数据库视图性能问题与基础查询

我注意到 View 和生成该视图的基础 Select 语句之间的性能差异。

创建视图时,它会对所有基础表(大约 700 万行)进行表扫描,但 Select 语句不会进行这样的扫描。

有人可以解释为什么可能会有所不同吗?以及如何使 View 像 Select 语句一样执行?

可以在 Google 表格中找到两个查询的解释计划:链接

Select 语句:更新:我已将问题缩小到以下 Select 语句。看起来 Group By 或 Group Concat 可能会导致问题。

在视图的解释计划中让我失望的线如下。计划中的所有后续行在视图和选择语句之间都是相同的:

指数

0 投票
1 回答
1030 浏览

oracle - ORA-22816 更新加入视图时使用而不是触发器

我阅读了很多关于它的内容,但没有找到任何帮助。

我的情况:我有两个属于一起的数据库表。我想用 EntityFramework 查询这些表。因为表 B 包含 EntityFramework 的鉴别器(用于为表 A 选择正确的类),所以我创建了一个连接表 A 和表 B 的视图。

这个连接很简单。但是:我也想用那个视图来存储数据。问题是,EntityFramework 也想存储鉴别器。但这是不可能的,因为它会更新/插入两个表。

所以我尝试创建一个“代替”触发器来更新/插入表 A(因为表 B 无关紧要并且永远不会更新)。

当我创建触发器时 - 一切都很好。如果我用 SQL 语句插入一些东西 - 一切都很好。但是:如果我直接在视图中插入(使用 Oracle SQL Developer),它会抛出如下异常:

ORA-22816(带有 RETURNING 子句的不受支持的功能)。

如果我对EntityFramework做同样的事情,我会得到同样的错误。有人能帮我吗?

在我的代码下方:

表 A 和表 B:

联合视图:

最后是触发器:

我也尝试过(验证插入是否正确,只是在触发器中输入“NULL”而不是插入。但得到了相同的错误消息。

有谁知道如何解决这个问题?或者有没有人有一个好的选择(更好的想法)?

谢谢!

注意:我还为 TableA 的 ID 定义了一个序列,以便它会自动生成。

// 编辑: 我找到了一个可能的 MS SQL 解决方案:

https://stackoverflow.com/a/26897952/3598980

但我不知道如何将其翻译为 Oracle ......我怎样才能从触发器中返回一些东西?

0 投票
0 回答
327 浏览

mongodb - 从多个数据库创建视图

我了解了如何使用 db.siblingsDB 和 db.sisterDB。但是我不能同时使用这两种方法来从不同的数据库创建视图。

我尝试的示例查询是:

但这不起作用。有人请告诉我这是否可能。

0 投票
1 回答
165 浏览

sql-server-2008 - SQL Server - 通过在查询中没有声明语句来创建视图

我创建了用于将垂直表数据转换为水平表的查询,并且我的declare查询中有一条语句。

我必须根据我的查询创建一个视图,但我从 SQL Server 收到一个错误,因为我的declare查询中有一条语句。

我试图变成视图的查询:

此查询从垂直表中获取数据并将其显示在水平列中

由于我的列名是动态的,我必须创建一个局部变量,但现在我很难将此查询转换为视图。

这个查询还有其他选择,所以我不必使用局部变量吗?