问题标签 [sql-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.
mysql - [MySQL]:表视图或实际表。(跟踪主键)
我有一个具有以下关系的数据库:
Transaction.TimeStamp
我需要执行一个查询,该查询必须根据是否在提供的日期范围内从 Schedule 中选择一系列值。查询需要根据其主键从 Schedule 中选择一个值。主键无法从事务中追踪。
为了解决这个问题,我决定创建一个表来将 Transaction DIRECTLY 链接到 Schedule 的主表。
最近我发现了表格视图——这是否适合制作表格“视图”?还是我应该只创建一个“实际”表TransactionSchedule
?
我的问题是我不了解表格视图何时有用/有什么好处的细节。
是否有一个单独的表来跟踪事务->计划过度杀伤?
真的,任何有关此问题的一般指导将不胜感激。
编辑:此查询仅用于检索已输入的数据
- 谢谢
sql - 检查Oracle中是否使用了给定的数据库对象?
嗨,有人知道如何检查给定的数据库对象(表/视图/SP/函数)是否在 Oracle 中使用。
例如,检查表“A”是否用于任何 SP/Function 或 View 定义。我正在尝试清理数据库中未使用的对象。
我尝试了查询 select * from all_source WHERE TEXT like '%A%' (A 是表名)。如果它没有返回任何结果,你认为它没有被使用是安全的吗?
sql - mysql 仅在视图不存在时才创建视图
仅当视图不存在时如何创建视图。如果确实存在,我想删除视图并重新定义它。我也不想要任何警告或错误。
django - 为现有的数据库/sql 视图创建 django 模型?
我在 $template_dir/sql/$someTableName.sql 文件中插入了一个视图的定义。(创建或替换视图)所以每次我运行时syncdb
,都会创建数据库视图。
我可以在 models.py 中创建一个访问该视图的 python 类吗?
只使用python的原始sql功能是更好的做法吗?
- -编辑 - -
我遇到的另一个问题是视图没有主键,但 django 似乎假设会有一个,因为我收到错误caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'")
但我没有定义这样的成员:
所以我的猜测是,django 合理地认为我没有在 CurrentLeagues 类中定义主键,所以 Django 假设有一个名为id
. 有没有办法告诉 Django 没有主键(因为这实际上是一个视图),或者这甚至不是我的问题?
postgresql - 在 PostgreSQL 中使用视图进行访问控制
我有一个表的模式,其内容基本上可以归结为:
- 一组用户
- 一组对象组
- 访问控制列表 (acl),指示哪些用户可以访问哪些组
- 一组对象,每个对象恰好属于一个组。
我想创建一个支持访问控制的简单应用程序。我认为意见将是一个很好的方法。
假设我有以下数据库初始化:
我的想法是使用镜像数据库的视图,但将内容限制为仅当前用户(由我的 PHP 脚本确定)可以访问的内容(这里我将只使用用户'bob')。假设我在每个 PostgreSQL 会话开始时运行它(意味着每次有人访问我网站上的页面时):
我的问题是,这是一个好方法吗?这些 CREATE TEMPORARY VIEW 语句是否会产生很大的开销,尤其是与几个简单的查询相比?
另外,有没有办法让这些视图在我的数据库定义中永久存在,然后将一个值绑定到每个会话的用户名?这样,它就不必在每次用户加载页面时创建所有这些视图。
sql - 如何使视图列不为空
我正在尝试创建一个视图,我希望列仅是真或假。但是,似乎无论我做什么,SQL Server (2008) 都认为我的位列可能以某种方式为空。
我有一个名为“产品”的表,其中的“状态”列是INT, NULL
. 在一个视图中,我想为 Product 中的每一行返回一行,如果 Product.Status 列等于 3,则 BIT 列设置为 true,否则 bit 字段应该为 false。
示例 SQL
如果我将此查询保存为视图并查看对象资源管理器中的列,则 HasStatus 列设置为BIT, NULL
. 但它永远不应该为 NULL。是否有一些神奇的 SQL 技巧可以用来强制此列成为NOT NULL
.
请注意,如果我删除CAST()
周围的CASE
,则该列被正确设置为NOT NULL
,但是该列的类型设置为INT
,这不是我想要的。我希望它是BIT
。:-)
sql - 我可以在视图中连接虚拟列吗?
不幸的是,我在数据库中有明文密码。我想尽可能少地传递这些纯文本值,例如比较和更新。为此,我试图创建一个排除明文密码的用户表视图,而是提供该密码的哈希值。
这是我当前的 SQL Server 视图,它不起作用:
我很高兴听到这种方法的替代方案,但除此之外,问题似乎是将虚拟列PasswordSalt与..任何东西连接起来。例如,以下简单视图有效:
但是这个没有:
我从 Management Studio 收到的错误是
列名“Column1”无效。
提前感谢您对我做错了什么的任何想法!
sql - SQL。按字段排序
我在 SQL 中创建了一个由 3 个表组成的简单视图。
通过右键单击并选择设计,在对象资源管理器表中,我修改了我的自定义视图。我刚刚在一个字段中添加了 sortby asc 。
问题是这些变化没有反映在视图的输出中。保存视图并选择打开视图后,排序不会显示在输出中。
那么这里发生了什么?
mysql - 目前使用 View,我应该使用硬表吗?
我目前正在争论我的表mapping_uGroups_uProducts是否是由下表形成的视图:
我目前的查询是:
这很慢。(对于 30 个结果,大约需要 10 秒)。我认为我的查询如此缓慢的原因肯定是由于该特定查询依赖于一个没有索引来加快速度的视图。
这里的解释看起来很神秘,我不知道我是否应该删除视图并编写一个脚本来将视图中的所有内容插入到硬表中。(显然,由于映射变化非常频繁,它将失去视图的灵活性)。
有谁知道如何更好地优化我的架构?