AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[view](dba)

Martin Hope
omerix
Asked: 2022-10-01 05:06:37 +0800 CST

从最后一条记录创建新视图或表

  • 3

我有 2 个表格 DraftProducts 和 Products。

两个表之间的唯一区别是“阶段”字段。

我的 DraftProducts 表中有 productCode varchar(20)、phase(tinyint)、Name、Price、SpecialCells.... 等字段。

对我来说,最后一个阶段实际上是 Product 表中的 1 条记录。

直到现在,当 1 位用户说草稿工作完成时,我自动在 Product 表中记录了最后一个阶段。

但是当最后的草稿发生变化时,它需要再次更新。删除时需要删除它等。很多额外的工作正在进行中。

在我的数据库中,一些表来自 DraftProducts 表,一些表来自 Products 表。

但是我可以将其作为独立于用户的“产品视图”来执行吗?

如何使用 max(phase) 1 记录创建“ProductsView”?我应该如何分组或区分?

由于这个表,我想要的 Products 表或视图应该是这样的。

p1=8 价格、类别、描述等 p2=15 价格、类别、描述等 p3=22 价格、类别、描述等

CREATE TABLE [dbo].[DraftProducts](
    [productCode] [varchar](20) NULL,
    [phase] [varchar](50) NULL,
    [name] [varchar](50) NULL,
    [category] [varchar](20) NULL,
    [description] [varchar](20) NULL,
    [price] float NULL
)
CREATE UNIQUE CLUSTERED INDEX [DraftProductsIndex1] ON [dbo].[DraftProducts]
(
    [productCode] ASC,
    [phase] ASC
)
insert into DraftProducts (productCode,phase,name)
values 
('p1',1,'aaaaaaaaaaaaaaa'),
('p2',2,'aaaaaaaaaaaaaaa'),
('p3',1,'aaaaaaaaaaaaaaa'),
('p2',15,'bbbbbbbbbbbbbbb'),
('p3',22,'bbbbbbbbbbbbbbb'),
('p1',8,'bbbbbbbbbbbbbbbbbbbbbbbbb'),
('p2',7,'ccccccccccccccc')

7 rows affected
select * from DraftProducts 

/*
finish phase
p1=8
p2=15
p3=22
*/
产品代码 阶段 姓名 类别 描述 价格
p1 1 啊啊啊啊啊啊 无效的 无效的 无效的
p1 8 bbbbbbbbbbbbbbbbbbbbbbbbbbb 无效的 无效的 无效的
p2 15 bbbbbbbbbbbbbbb 无效的 无效的 无效的
p2 2 啊啊啊啊啊啊 无效的 无效的 无效的
p2 7 cccccccccccccc 无效的 无效的 无效的
p3 1 啊啊啊啊啊啊 无效的 无效的 无效的
p3 22 bbbbbbbbbbbbbbb 无效的 无效的 无效的

小提琴

sql-server view
  • 1 个回答
  • 36 Views
Martin Hope
TAHER El Mehdi
Asked: 2022-06-21 23:53:58 +0800 CST

如何从视图中解密列的名称?

  • 4

我不得不处理第三方数据库,我试图让所有列在视图中使用,但我对它们进行了加密,
例如:我没有得到为什么?intNUMERO_SALARIETNumSal

DECLARE @TableViewName NVARCHAR(128)
SET @TableViewName=N'DP_SALARIE'
SELECT b.name AS ColumnName, c.name AS DataType, b.max_length AS Length
FROM sys.all_objects a
INNER JOIN sys.all_columns b
ON a.object_id=b.object_id
INNER JOIN sys.types c
ON b.user_type_id=c.user_type_id
WHERE a.Name=@TableViewName
AND a.type IN ('U','V')

在此处输入图像描述

有什么办法可以解密它们吗?

sql-server view
  • 1 个回答
  • 228 Views
Martin Hope
Quasimodo's clone
Asked: 2022-03-15 07:23:47 +0800 CST

表和视图有通用术语吗?

  • 19

我正在寻找一个通用术语,例如数据库抽象,它包括所有表格数据结构,如数据库表、视图、表格查询结果等。

据我了解,“实体”不是正确的术语,因为它对应于表而不是视图甚至查询。“结果”在可修改的数据结构上是违反直觉的。

在专业环境中,哪个是合适的术语?

query view
  • 6 个回答
  • 2530 Views
Martin Hope
adam.g
Asked: 2022-02-09 02:25:49 +0800 CST

如何避免在 .NET 应用程序中从 SQL Server 返回部分数据?

  • 2

我们从客户端获得票证,该票证有时会从查询中获取部分数据。简单的单词查询是视图查询:

SELECT column1, column2, column3, column4, column5, column6 ... column50 
from [dbo].[view]

查看返回大约 300 万条记录。在服务器上,我们有一些规则会在运行 30 分钟后终止查询。在正常情况下,此查询运行大约 5 分钟,但在工作量大的情况下,此查询运行超过 30 分钟。在这种情况下,客户端可能会遇到两种错误:

• 返回的终止查询

“消息 596,级别 21 无法继续执行,因为会话处于终止状态”

这会导致应用程序导入节点失败,因此是“理想”情况,因为它们不依赖于具有部分输入数据集的工作流。

• 一个与杀死进程相关的场景

“消息 0,级别 20 当前命令发生严重错误”

从 ODBC 的角度来看,这看起来与成功运行相同,因此我们以部分数据集结束 - 这是最危险的情况。

你知道如何避免这种问题吗?

sql-server view
  • 2 个回答
  • 215 Views
Martin Hope
Martlark
Asked: 2021-11-17 18:01:08 +0800 CST

PII 的 Postgres 视图

  • 0

我将如何设置一个视图来显示一组受限数据以屏蔽 PII?与源表相比,是否可以创建具有较少角色访问权限的视图?这适用于由于需要与平台无关而无法使用任何插件的 Postgres。

postgresql view
  • 1 个回答
  • 48 Views
Martin Hope
cbmeeks
Asked: 2021-05-04 06:36:55 +0800 CST

如何使用变量在 Postgres 10 中动态创建视图?

  • 0

我知道如何在 MySQL 和 MSSQL 中做到这一点,但我正在努力在 Postgres 10.12 中做同样的事情。我有大约 200 个视图要创建,每个视图的唯一区别是模式位置和 where 子句。

例如:

create or replace view SCHEMA1.myview as
    select * from SHAREDSCHEMA.sometable where MYCOL = 'ABC';

所以我需要做的是创建该视图大约 200 次,每次迭代为:

SCHEMA1.myview 
SCHEMA2.myview
SCHEMA3.myview
etc...

MYCOL = 'ABC'
MYCOL = 'EFG'
MYCOL = 'HIJ'
etc...

希望这是有道理的。同样,每次迭代之间的唯一区别是模式名称更改和 where 子句更改。

我可能会编写一些 Python 脚本或其他东西来生成代码,但如果可能的话,我宁愿在 Postgres 中进行。

我知道这不是有效的代码,但基本上这就是我想要做的:

do $$
declare
    myschema varchar(10) := 'SCHEMA1';
    mywhere varchar(3) := 'ABC';
begin
    create or replace view @[email protected] as
        select * from SHAREDSCHEMA.sometable where MYCOL = @mywhere@;
end $$;

然后每次我运行它时,我只需更改@myschemaand @mywhere。

任何帮助,将不胜感激。

谢谢!

postgresql view
  • 1 个回答
  • 1754 Views
Martin Hope
SeaDude
Asked: 2021-04-26 22:41:46 +0800 CST

即使在所有表中都没有满足条件,也从 SQL JOIN 返回结果

  • 0

SQL 新手。构建我的第一个联系人管理器项目。当前架构如下所示。

问题:

  • 我正在研究显示给定联系人的所有联系人类型(电话、电子邮件、社交、地址)的视图。
  • 我将以下尝试放在一起,但它仅contactGUID在每个 contact_type 表中都返回结果。
--Problem: Only returns records if contactGUID is present in every contact_type table

SELECT
c.contGUID, c.contType, 
i.indTitle, i.indFirstName, i.indMidName, i.indLastName, 
e.emailAddress, e.emailDomain,
p.phnCountryCode, p.phnAreaCode, p.phnNumber,
s.socURL, s.socHandle,
a.addrCountry, a.addrCountryCode, a.addrCountrySubdivision, a.addrCountrySubName, a.addrSecondarySubdiv, a.addrMunicipality, a.addrMuniSubdivision, a.addrStreetNumber, a.addrStreetName, a.addrPostalCode, a.addrLatitude, a.addrLongitude

FROM
CONTACT c

JOIN INDIVIDUALS i
ON c.contGUID = i.indGUID

JOIN CONTACT_EMAIL ce
ON c.contGUID = ce.contactGUID

JOIN EMAILS e
ON ce.emailGUID = e.emailGUID

JOIN CONTACT_PHONE cp
ON c.contGUID = cp.contactGUID

JOIN PHONES p
ON cp.phnGUID = p.phnGUID

JOIN CONTACT_SOCIAL cs
ON c.contGUID = cs.contactGUID

JOIN SOCIALS s
ON cs.socGUID = s.socGUID

JOIN CONTACT_PHYS_ADDRESS cpa
ON c.contGUID = cpa.contactGUID

JOIN PHYS_ADDRESSES a
ON cpa.addrGUID = a.addrGUID

问题:

  • CONTACT_PHONE如果给定的记录不存在,我如何返回所有其他联系类型(电子邮件、社交、地址)contactGUID?

在此处输入图像描述

join view
  • 1 个回答
  • 114 Views
Martin Hope
OmniOwl
Asked: 2021-04-24 15:44:56 +0800 CST

隐式使用 COUNT() 来查看游戏匹配数据?

  • 0

我已经有一段时间没有使用 SQL 了,看起来我已经很生疏了。我最近不得不做一个项目,需要在 Windows 上使用 MySQL,在寻找这个特定查询的解决方案时,我被告知你可以以某种方式隐式使用 COUNT(*),但我无法让它正常工作.

我需要的是这样的:

PLAYER_ID MATCHES_WON MATCHES_LOST
0 4 1
1 2 5
2 2 2

我在这里对我的数据库做了一个简单的 SQL 小提琴。

有人可以帮我解决这个问题吗?我愿意接受我可能不得不与一些人提出更复杂的解决方案,CURSOR但LOOP我想我会在这里问。这是我在这个社区的第一个问题,如果我没有正确格式化这个问题或者这不是一个合适的问题,很抱歉。

mysql view
  • 1 个回答
  • 31 Views
Martin Hope
Roy Hinkley
Asked: 2021-01-14 16:33:37 +0800 CST

MySQL - 无法检查视图定义 - 获取对象的 DDL 时出错 - 未选择数据库

  • 0

我有一个可以运行的视图,它返回一个数据集,但是每当我尝试更改视图或查看其定义时,我都会得到

Error getting DDL for object
No database selected

在此处输入图像描述

但我确实选择了一个数据库,我可以运行带有结果的视图。

如何恢复定义?请指教

mysql view
  • 1 个回答
  • 301 Views
Martin Hope
BostonMacOSX
Asked: 2020-12-18 19:23:20 +0800 CST

当视图可以限制一个人对行和/或列的访问时,为什么需要行级访问?

  • 1

所以我一直对vew的安全性和行级安全性之间的区别感到困惑。

所以我想我的一般问题是

当视图可以限制一个人对行和/或列的访问时,为什么需要行级访问?

view row-level-security
  • 2 个回答
  • 54 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve