问题标签 [virtual-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.

0 投票
2 回答
831 浏览

oracle - 在gorm grails中保存带有虚拟列的实体

所以,在我的应用程序中,我有一个带有虚拟列的实体。该列的值取决于我在另一列中保存的内容。

保存时出现以下错误:

java.sql.BatchUpdateException: ORA-54013: 在虚拟列上不允许插入操作

这是因为我在该字段上发送一个空值。

有人知道如何在gorm中映射虚拟列吗?

谢谢

0 投票
1 回答
945 浏览

sql - 从查询派生的 Oracle 11g 虚拟列

是否可以根据对另一个表的查询创建虚拟列?- 类似于以下内容

如果需要,我可以在示例中更深入地介绍,

0 投票
1 回答
540 浏览

java - 有什么方法可以检查java中的列是否是虚拟的?

我想知道是否有任何方法可以检查表中的列在java中是否是虚拟的?我在那里尝试 ResultSetMetaData 没有运气:

我需要检查它是否是一个虚拟列,以便知道我是否应该插入/修改它,有什么想法吗?

0 投票
1 回答
2275 浏览

oracle - Oracle 虚拟列、日期和时间戳

我在 Oracle 中有一个问题,有一个虚拟列(我需要从日期列开始的时间戳);这是我的例子:

获取数据的问题在哪里?我尝试了很多格式掩码,但没有任何帮助......

0 投票
1 回答
1578 浏览

oracle - 连接虚拟列表达式中的数字引发 ORA-12899: value too large for column

虽然我昨天对一个问题给出了这个答案,但我建议使用虚拟列来计算值,而不是手动更新它。

我自己做了一个测试,发现了连接两个NUMBER类型列时虚拟列表达式所占用的数据大小的问题。但是,连接两个字符时没有问题。

数据库版本:

测试用例 1:连接字符串

因此,连接两个字符类型列没有问题。

测试用例 2:连接数字

不允许?哼!让我们增加尺寸 -

那么现在发生了什么?表已经创建,但是为什么VIRTUAL COLUMN在预期的数据大小只有 3 个字节时占用这么大的大小,但它需要81 个字节

检查长度,值是正确的,但是,数据量要大得多。例如,我希望长度为 3,因此我将列的大小声明为 10 个字节。但是虚拟列表达式产生的值远不止于此。

任何见解都非常受欢迎。

UDPATE感谢 Alex Poole。我没有考虑隐式转换,所以我不关心显式 CAST 表达式。所以,下面的作品 -

0 投票
1 回答
2127 浏览

mysql - 如何使用 MySQL SELECT 创建具有多个值的虚拟列?

我可以将虚拟列添加为

但我想添加多个值,例如:

但这不起作用

0 投票
3 回答
1442 浏览

sql - 如何使用日期和序列号创建字母数字序列

我想在 oracle 中创建一个字母数字序列。表名是rel_details它由四列组成。

rel_id我想生成像REL230420151001

REL是一个字符串, 23042015是今天的日期, 1001是一个起始数字。

如何创建此类型序列。

0 投票
0 回答
2184 浏览

oracle - ora-01733 此处不允许使用虚拟列

我有一个变量,vTipoIdCompartido,报告了一个列的名称。但似乎你不能那样做,因为每次我使用它时,它都会给我错误“ora-01733 virtual column not allowed here”。我必须做不同的事情吗?

0 投票
0 回答
242 浏览

mysql - 如何在 MySql 中选择一个列表作为虚拟列?

我知道我可以使用

但我需要将数字列表作为一列返回。就像是

更确切地说,我需要做

有人知道我该怎么做吗?

****编辑****

让我更详细地解释我的问题,也许您可​​以提出一种不同的方法来解决它。

我有下表

我需要构建一个返回如下内容的查询:

目前我正在使用子查询来获取结果,但我遇到了性能问题。

0 投票
3 回答
3921 浏览

mysql - 如果目标列具有生成的列,则 INSERT INTO ... SELECT

有一些表:

我将一行从复制asourceadestination

上面会产生一个错误:

好的,要求我提及生成的查询很奇怪。但是好的,我将该列添加到查询中:

这在 5.7.10 中运行良好。但是,它会在 5.7.11 中生成错误(由于修复

好的,下次试试:

但仍然是同样的错误。我尝试了 0、TRUE、FALSE,但错误仍然存​​在。

声明为唯一允许的值(规范文档)的默认值。但是,以下会产生语法错误(此处不支持 DEFAULT):

那么,如果目标表添加了一些列,其中一些列是生成的,我如何使用 INSERT INTO ... SELECT 将行从一个表复制到另一个表?

调用此查询的代码是通用的,并且不知道特定表具有哪些列。它只知道目标表有哪些额外的列。源表是活动表,目标表是源表的历史版本。它有一些额外的列,例如用户 ID 进行了更改,更改的类型(插入、更新、删除)等。