问题标签 [persisted-column]
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.
ruby-on-rails - Rails - 通过检查在另一个表单中插入的电子邮件地址现在是否存在来检查用户是否被持久化
我的 Rails 4 应用程序中有名为 User 和 Invite 的模型。
我允许用户邀请其他人加入他们的项目团队。
我的用户模型有一个名为 :email 的属性。
为此,我有一个邀请模型,它具有以下属性:
当用户邀请其他人加入项目时,他们会填写收集上述信息的表格。
然后在我的邀请控制器中,我试图检查输入的电子邮件地址是否已经是与任何用户帐户关联的电子邮件地址。
在我的邀请控制器中,我有:
recipient_status_known 方法是我尝试检查插入到新邀请表单中的电子邮件是否已经在用户表的数据库中(另存为电子邮件)。
如果已知,则创建操作应将已知用户 ID 分配为邀请表上的收件人 ID。
如果不知道,那么我想向受邀者发送一封电子邮件,邀请他们创建一个帐户。
如何在邀请控制器中修复我的测试,以检查用户表是否有新邀请表单中提供的电子邮件地址?
我的下一个尝试是按如下方式更新我的邀请控制器:
结尾
我检查添加到邀请表的电子邮件地址是否与任何现有用户成员相同的方法是:
当我保存它并尝试提交新的邀请表单时,我没有收到任何错误,但我在此代码的最后一行中收到了重定向错误。这意味着未找到该电子邮件作为匹配的“已知收件人状态”地址。我知道我在新邀请表单中输入的电子邮件地址与用户表中的电子邮件地址匹配。
关于下一步我可以尝试什么的任何想法?
mysql - 持久计算列来计算面积?
我有一张桌子(地毯),其中包含长度和宽度列(均为 2 位小数)。
我正在尝试创建一个名为 area 的计算列,它只是将长度乘以宽度来生成区域,但在运行查询时会遇到语法错误。
我尝试使用 mySQL 的代码如下:
但它不喜欢语法,收到 #1064 错误
sql - 如何将 PERSIST 函数添加到 SQL Server 中的排名?
我将如何将 PERSIST 函数添加到排名中?
我计划从这段代码创建一个视图,并将经常在其上运行子查询。所以当然我不希望排名数字根据我运行的任何子查询而改变。我希望它是一个正常的、非公式的列。
sql-server - 将多个表中的多行用于具有标量 UDF 的持久计算列
我正在尝试使用标量 UDF 值作为字段值在Order Transactions 表中创建一个新字段作为持久计算列。
我知道对Persisted列的要求是该值是确定性的,这意味着我拥有的多表 UDF 是不确定的,因为它没有使用源表中的字段。
功能:
我正在寻找一种解决方法,以便能够在订单交易表中使用上述函数生成的值。
添加列:
我已经测试了这个函数,它应该在选择中作为一个独立的函数调用。问题是我需要在计算列中使用它而不是虚拟列。
sql-server - SQL Server - 来自 DATETIME 的 DATE 转换是不确定的,但仅在用户定义的函数中
为什么在 SQL Server 的用户定义函数 (UDF) 的返回表中,这种类型转换会因为计算列的不确定性而被拒绝?PERSISTED
请注意,这不是转换为字符串表示或从字符串表示转换,所以我不知道为什么它不起作用,因为全球化/区域的东西应该是无关紧要的。
这适用于UDF(包括存储过程)之外:
似乎添加WITH SCHEMABINDING
到 UDF 定义会关闭它,但我不明白为什么,因为它看起来只是将函数输出标记为基于输入参数的确定性。而且我必须在我的函数中做其他非确定性的事情 ,所以它不是一个候选的解决方法。
不稳定的字符串操作也可能是一种解决方法,但不是可取的。CONVERT
根据 SQL Server ,ISO-8601 的样式 126仍然是不确定的。似乎唯一的选择是放弃使用持久计算列?
sql-server - 如何在持久计算列中使用变量?
我有一个持久计算列,用于保存DATETIME2
从FLOAT
时间列([Potentially Bad Time])计算得出的值。我正在处理当时所有组件的下溢和溢出,DATEADD
但目前我不得不在整个公式中不断重新计算相同的值,因为我不知道如何将它们存储在变量中!实际实现也支持年、月和日,但有 210 行,所以这里是一个仅使用时间组件的缩减版本
例如,如何将 放入一个名为以保存多次计算[Time] - ROUND([Time], 0, 1)
的变量中?@milliseconds
我尝试了标量函数,因此参数可以有效地成为变量,但是持久计算列不支持使用标量函数(无论如何它们对性能来说都是个坏消息!)。
我也在公式和公式DECLARE @milliseconds FLOAT = [Time] - ROUND([Time], 0, 1)
之间尝试过AS
,但这是一个语法错误。
sql-server - 与计算列相比的糟糕设计?
使用 SQL Server 我有一个带有计算列的表。该列连接 60 列:
为什么我使用持久列:
- 不需要索引 60 列
- 通过仅检查一列来测试当前记录是否存在
该表将包含不少于 2000 万条记录。添加/插入/更新经常发生,一些二进制文件每次运行都会进行数万次插入/更新/删除,我们希望这些操作快速且有效。
目前我们有 C# 代码来管理 table 中的记录foo
。它有一个函数,可以按照与计算列相同的顺序连接相同的字段。如果已经存在具有相同连接键的记录,我们可能不会插入,或者我们可能会插入但调用我们通常可能不会调用的其他函数。
这是一个糟糕的设计吗?我看到的最大危险是代码是否因任何原因与计算列的串联顺序不匹配(如果一个被编辑但另一个没有被编辑)。
规则/要求
- 我们想在 JQGrid 中显示记录。如果记录来自单个表或视图,我们已经有了可以这样做的 C#
- 我们需要检查两条记录的能力,以验证它们是否在所有 60 列中都具有相同的值
sql - SQL 在同一语句中选择和更改表
我有一个表,我想在其中选择某些列,然后根据该选择创建转换后的列。由于安全原因,我无法创建新表,并认为可能有一种方法可以在同一条语句中进行 SELECT 和 ALTER。
我在下面的语句运行,但未生成该列。我做错了什么/这种方法不可能吗?有更好的方法吗?
指导和建议表示赞赏。
indexing - SQLSVR - 无法使用计算的 GETDATE 列创建索引
我想要实现的目标:创建一个将现有日期列数据转换为UTC时间的索引(查询写在下面)
问题:表中有一个包含本地服务器日期值的列,我需要将它们转换为 UTC 日期值,然后在其上创建一个索引。
为什么我需要这个:我在 oracle 中做了同样的事情,我正在尝试将内容与查询一起迁移到 Sql Server 中以获取新客户端
问题:索引不接受变量或用户定义的函数。但只将表列作为参数。
只有解决方法:是在表上创建一个计算列并使用它来创建索引。
我遵循的步骤:
首先运行以下查询
它给出了以下错误:
表 'dbo.tableClient' 中的列 'tempComp1' 不能用于索引或统计信息或用作分区键,因为它是不确定的。
所以我尝试将专栏设为 PERSISTED
它现在给出错误:
无法保留表“tableClient”中的计算列“tempComp1”,因为该列是不确定的。
现在,有趣的是,如果我这样做了
它给出了结果:330
现在如果我用 330 尝试相同的命令
它工作得很好。