- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的 TableA 有数十万行,而且大小还在增加。没有分区,速度下降得非常明显。
因此,我创建了一个名为 TableB 的新表,其中的列与 Oracle SQL Developer 中的 TableA 完全一样(名称和类型)。 (TableA 和 TableB 在同一个数据库中,但不是同一个表)我另外为 TableB 创建了分区。
现在,我只想将 TableA 中的所有数据复制到 TableB 中,以测试查询速度。
为了测试带分区的表的速度,我决定复制所有数据,因为 TableB 与 A 具有所有相同的列。
insert into TableB ( select * from TableA);
我从上面的语句中期望的是要复制的数据,但我得到了错误:
错误从行开始:命令中的 1 -插入 TableB(从 TableA 选择 *)命令行错误:1 列:1错误报告 -SQL 错误:ORA-54013:不允许对虚拟列执行 INSERT 操作54013.0000 - “不允许对虚拟列执行 INSERT 操作”*原因:试图将值插入虚拟列*行动:重新发布声明而不为虚拟列提供值
我查了一下Virtual Columns好像是
“当查询时,虚拟列看起来是普通的表列,但它们的值是派生的而不是存储在磁盘上。下面列出了定义虚拟列的语法。”
但是,我在 TableB 中没有任何数据。 TableB 只有与 TableA 匹配的列,所以我不确定在没有任何内容可派生的情况下如何派生我的列?
最佳答案
可以使用查询
SELECT column_name, virtual_column
FROM user_tab_cols
WHERE table_name = 'TABLEA';
COLUMN_NAME VIRTUAL_COLUMN
----------- --------------
ID NO
COL1 NO
COL2 NO
COL3 YES
然后使用
INSERT INTO TABLEB(ID,COL1,COL2) SELECT ID,COL1,COL2 FROM TABLEA;
为了排除虚拟列,那些是根据其他列的值计算出来的。
关于sql - 如何使用新分区将数据从 TableA 复制到 TableB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54632611/
全部, 我正在复习一些基本的 MySQL JOIN 教程。杰夫·阿特伍德 gives an example在他的博客上是这样的: SELECT * FROM TableA LEFT OUTER JOI
我有一个大表,我正在尝试添加一个字段,到目前为止,由于我正在处理的表大小,它的效率要高得多 CREATE TABLE A LIKE B; INSERT B SELECT * FROM A; 进行更改时
http://sqlfiddle.com/#!18/d1cf0/6 TABLE HEADER ( [HeaderID] VARCHAR(3), [description] VARC
我是一名刚学数据库的学生... 我有两张 table 。用户和行程。 每当将新的行程添加到数据库时,我希望它触发“totalMiles”列中用户表的更新。我希望它采用 Trip.userID 并仅更改
我在 Codeigniter 工作。我在 MySql 数据库“menus”和“menus_child”中有两个表。结构是: table: menus 编号 |菜单名称 1 |产品 table: men
我有两张 table create tableA ( idA int primary key, idB foreign key references tableB(idB) ); cr
我有一个表图片 create table pictures ( picture_id int(10) unsigned NOT NULL AUTO_INCREMENT, mall_id flo
这个问题已经有答案了: cartesian product in pandas (13 个回答) 已关闭 4 年前。 我想将两个数据帧合并在一起以模仿“select * from A, B”,例如,表
这是一个有效的 mysql 语句吗? select * from TableA , TableB ; 如果不是,选择这两个表的正确 mysql 语句是什么。 为什么我认为这有问题,因为我写了一个 my
我的 TableA 有数十万行,而且大小还在增加。没有分区,速度下降得非常明显。 因此,我创建了一个名为 TableB 的新表,其中的列与 Oracle SQL Developer 中的 TableA
当我按如下方式查询 mysql 数据库时,出现如标题所示的错误。不知道为什么,问题出在 group by 语句上,但我尝试了几种变体,但似乎没有任何效果。 SELECT TableA.Name, DA
我有两张 table 。 msUser 和 msUserChar。我在 msUser 和 msUserChar 之间建立了关系,其中 msUser 中的 PK 是 msUserChar 中的 FK 我
我正在创建一个数据库,并且我有表 ProjectDetails.TimeCardExp 和 ProjectDetails.Project。 TimeCardExp 表有一列 ExpenseDate,在
我正在尝试弄清楚如何使用 Postgresql 8 定义数据库的模式。 我有 2 个表: 期刊,书籍 定义我拥有的出版物 Journal: id_j, name, issn, other fields
我有一个包含几张工作表的工作簿,每张包括一个列表对象(一个表格) 我的目的是从不同的列表对象中获取数据并将其粘贴到另一个列表对象中。或者更准确地说,在另一个表中一个接一个地复制几个表的几列。 到目前为
基本上,我想要的是,如果 tableB 中有一条类型为“X”的记录,我想查看它,否则我不想查看,但我想要 tableA 中的所有记录。 我知道我可以通过将 tableB.type = 'X' 放在 L
我需要为 tableB 的每个值选择并插入 tableA 的值。有什么建议么? 所以基本上结果表将是这样的: 1 | 1 1 | 2 1 | 3 2 | 1 2 | 2 2 | 3 最佳答案 这听起来
我的数据是这样的: TableA - id INT - is_in_table_b BOOL TableB - id INT - table_a_id INT 我在重组数据结构时不小心删除了开发机器上
1st question: 我试图将表 B 中的字段插入到表 A 中,其中我有一个条件并为列 A 设置了一个案例,但它不起作用。是否可以在不更新的情况下做到这一点? insert into table
我正在尝试在 JOIN 与第二个表之后更新表。 UPDATE 仅适用于第一个 SET。 代码如下: update Table_A join Table_B on Table_A.date = Tab
我是一名优秀的程序员,十分优秀!