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
    • 最新
    • 标签
主页 / user-1426

David Clarke's questions

Martin Hope
David Clarke
Asked: 2020-10-12 15:42:37 +0800 CST

关于查找最后一次值更改的另一个问题

  • 0

我知道这个问题有一个简单的答案,但我无法理解它。我有一个包含 datetime 和 int 列的表。

| TimeStartTz             | RowNumber | RateID      |
|-------------------------|-----------|-------------|
| 2018-05-07 07:00:00.000 | 45        | 1           |
| 2018-04-09 07:00:00.000 | 43        | 1           |
| 2018-03-26 07:00:00.000 | 42        | 1           |
| 2018-03-19 07:00:00.000 | 41        | 1           | <-- want this row
| 2018-03-05 07:00:00.000 | 2         | 2           |
| 2018-02-26 07:00:00.000 | 1         | 2           |
| 2018-02-19 07:00:00.000 | 40        | 1           |
| 2018-02-12 07:00:00.000 | 39        | 1           |
| 2018-01-29 06:45:00.000 | 38        | 1           |
| 2018-01-22 06:45:00.000 | 37        | 1           |

如果集合中没有更改,我想获取 RateID 中最近更改的行或第一行,即在示例中为RowNumber41 的行。我尝试按 RateID 进行分区,但它显然不考虑连续部分:

    ROW_NUMBER() OVER (PARTITION BY pq.[RateID] ORDER BY pq.[TimeStart]) RowNumber
sql-server sql-server-2008-r2
  • 1 个回答
  • 115 Views
Martin Hope
David Clarke
Asked: 2020-08-27 18:48:22 +0800 CST

sys.objects 参考的 FK 替代方案

  • 1

我正在更新表更新时由触发器填充的审计/日志表。我的意图是sys.objects.object_id在日志表中使用表名和列名列,但不能对系统视图使用 FK 引用。是否有任何有用的替代方法来维护表上的参照完整性?

sql-server foreign-key
  • 1 个回答
  • 29 Views
Martin Hope
David Clarke
Asked: 2020-08-27 15:55:24 +0800 CST

从主键中删除不必要列的含义

  • 2

我有一个数据库,其中定义了许多表,其中多个 UUID 列形成主键,而应该将它们定义为外键,例如

CREATE TABLE [dbo].[SomeTable](
    [SomeTableID] [uniqueidentifier] NOT NULL,
    [WorkEntryID] [uniqueidentifier] NOT NULL,
    [TimeEntryID] [uniqueidentifier] NOT NULL,
    [RateEntryID] [uniqueidentifier] NOT NULL,
    ...

 CONSTRAINT [PK_SomeTable] PRIMARY KEY CLUSTERED 
 (
    [SomeTableID] ASC,
    [WorkEntryID] ASC,
    [TimeEntryID] ASC,
    [RateEntryID] ASC
 )
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[SomeTable] ADD  CONSTRAINT [DF_SomeTable_SomeTableID]  DEFAULT (newsequentialid()) FOR [SomeTableID]
GO

附加列应该被定义为外键,并且在某些情况下已经被定义。我假设将附加列作为 PK 的一部分会影响性能吗?在重新定义表的 PK 以仅包含 PK 列之前,我应该注意什么?

sql-server primary-key
  • 1 个回答
  • 87 Views
Martin Hope
David Clarke
Asked: 2015-09-15 17:41:50 +0800 CST

SQL Server 2012 中的 FMTONLY 问题

  • 1

我支持使用 CodeSmith 和 NetTiers 模板生成 C# 代码的应用程序。CodeSmith 检查数据库并使用SET FMTONLY ON设置来确定应为其生成代码的列。

不幸的是,在从 SQL Server 2005 迁移到 2012 的过程中,有一种特殊情况现在不再有效。有一个存储过程在链接服务器上执行存储过程,并且为该存储过程生成的代码不正确。

我已经设法将问题EXEC与SET FMTONLY ON. 以下(仅示例)SELECT适用于 2005 和 2012 实例:

SET FMTONLY ON
SELECT TOP(10) [MCMCU]
              ,[MCSTYL]
              ,[MCDC]
FROM [JDE].[JDE_CRP].[CRPDTA].[F0006]
SET FMTONLY OFF

正如预期的那样,这仅返回列标题。以下仅适用于 2005 实例:

SET FMTONLY ON
EXEC('SELECT TOP(10) [MCMCU]
                    ,[MCSTYL]
                    ,[MCDC]
      FROM [JDE_CRP].[CRPDTA].[F0006]') AT [JDE]
SET FMTONLY OFF

在 2012 实例上运行时,SSMS 显示消息“命令已成功完成”,但不显示列标题。

我在这里有什么遗漏吗?也许我需要更改设置?链接服务器定义相同,包括用于连接的标识。是的,我知道这FMTONLY已被弃用,但我没有任何能力改变 CodeSmith 询问数据库的方式。

sql-server sql-server-2012
  • 1 个回答
  • 1912 Views
Martin Hope
David Clarke
Asked: 2014-04-24 14:46:41 +0800 CST

要求 group by 的唯一性

  • 0

我不确定如何提出这个问题。我有一个包含多个列的表,包括一个 id 列、一个外键列“JobId”和一个“GxpId”列。

我要求一个“JobId”最多可以有一个“GxpId”,但该表可以有多个具有相同“JobId”和“GxpId”的行。

有一个单独的进程正在将数据导入表中,并且使用该表的应用程序失败,因为导入进程创建了具有相同“JobId”但不同“GxpId”的两行。

我想向表中添加一个约束,以确保特定“JobId”的任何行都必须具有相同的“GxpId”。希望这是有道理的。

constraint
  • 1 个回答
  • 37 Views
Martin Hope
David Clarke
Asked: 2011-09-28 13:25:11 +0800 CST

添加约束以确保标志列 <= 其他表中列的总和

  • 4

我有一列RSEFlag包含一个标志值,该标志值是 1、2、4 中的一个或多个之和。我有一个单独的表,其中包含每个标志值的描述:

RSECode RSEDescription
------- --------------
   4    Environment
   1    Reliability
   2    Safety

我想限制我的RSEFlag列,使其小于或等于 RSE 表中值的总和。

这是一个值得的练习吗?最好的方法是什么?

sql-server
  • 2 个回答
  • 2083 Views
Martin Hope
David Clarke
Asked: 2011-09-27 13:45:14 +0800 CST

如何测试列定义是否允许空值?

  • 7

我有一个大约有 3000 行的表,我需要修改列定义以允许空值。我有一个将执行更改的更改脚本,但我希望能够重新运行该脚本,以便只有在尚未更改列定义时才会发生更改。如何测试列定义以确定该列是 NULL 还是 NOT NULL?

sql-server
  • 3 个回答
  • 10408 Views
Martin Hope
David Clarke
Asked: 2011-09-01 16:46:22 +0800 CST

检查约束只有三列之一是非空的

  • 80

我有一个 (SQL Server) 表,其中包含 3 种类型的结果:FLOAT、NVARCHAR(30) 或 DATETIME(3 个单独的列)。我想确保对于任何给定的行,只有一列有结果,其他列为 NULL。实现这一目标的最简单的检查约束是什么?

这样做的背景是试图改进将非数字结果捕获到现有系统中的能力。向表中添加两个新列并带有约束以防止每行出现多个结果是最经济的方法,但不一定是正确的方法。

更新:对不起,数据类型混乱。遗憾的是,我并不打算将指示的结果类型解释为 SQL Server 数据类型,只是通用术语,现在已修复。

sql-server constraint
  • 4 个回答
  • 49764 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