oracle - 在 sql developer 中将 concat 插入到现有表中
问题描述
我有一张桌子,叫做带列的房间
NumberOfRoom | InBuilding | NameOfRoom
22 | D | D22
54 | B | B54
51 | E | E51
我想将 numberOfRoom 与 InBuilding 连接起来,因此结果将是 NameOfRoom
该表已经创建,我想在该表中插入数据,除了我的问题是当我插入带有 concat 需求的值时,有一个错误告诉我该值不能为空
insert into Rooms (NumberOfRoom , InBuilding , NameOfRoom)
values (22, 'D', (select concat (NumberOfRoom , InBuilding) as NameOfRoom
from Rooms)
);
结果应如下所示:22D 或 D22(顺序无关紧要)。
编辑:所有列也是强制性的,因此所有列都不能为 NULL。该表可以包含多于三列,例如列 nameOfRoom 之后会有另一列,例如列容量
NumberOfRoom | InBuilding | NameOfRoom| capacity
22 | D | D22 | 10
54 | B | B54 | 4
是否有解决方案可以将这两列与另一个命令合并?
解决方案
您可以使用virtual column
以下概念:
create table rooms (
numberofroom number,
inbuilding varchar2(100),
nameofroom generated always as (inbuilding||numberofroom)
);
干杯!!
推荐阅读
- java - 如何将程序参数传递给 java 打包程序?
- javascript - Jquery appendTo 在调整大小时不会这样做
- javascript - 使用VBScript从html中的特定节点提取值
- cordova - Apache cordova app nost 非天蓝色网站可以吗
- r - 如何在 R mallet 中提取具有权重的主题模型结果
- karate - 如何在不使用属性文件的情况下使用一个场景输出到另一个场景
- mysql - 如何在没有插入选项的情况下将新数据插入到我的 SQL 查询中?
- android - 设备中的系统 UI 崩溃,当我安装由 Android Studio 创建的应用程序时
- canvas - GWT Canvas 绘制填充多边形中的错误
- android - 如何从 ArrayList 添加价格