我创建了一个表格umriss
,我填充了数据,但仍需要插入现有表格中的几何数据(usrdemo.glets_1850
,usrdemo.glets_1973
,...)。这有什么作用?
umriss
是一个“弱实体”,并引用了表gletscherstand
(glst_id
)和gletscher
(gletscher_id
)
create table umriss
(
umr_nr number (4) not null,
umr_datum date,
GLST_ID number (4) not null,
shape mdsys.sdo_geometry,
GLETSCHER_ID number (3) not null,
se_anno_cad_data blob
);
alter table umriss
add constraint umriss_glst_pk
primary key (umr_nr, GLST_ID, GLETSCHER_ID);
ALTER TABLE umriss
ADD CONSTRAINT umriss_gletscherstand_fk
FOREIGN KEY (GLST_ID, GLETSCHER_ID)
REFERENCES GLETSCHERSTAND(GLST_ID, GLETSCHER_ID);
我手动插入了属性umr_nr
,umr_datum
,glst_id
和gletscher_id
的数据。从umr_nr
可以看到有3种形状,我现在想要添加usrdemo_glets_1850
的空间数据,其中包含3个形状和属性:objectid
(= umr_nr
in表格umriss
),shape
和se_anno_cad_data
。
我试过了......
INSERT INTO umriss u
(u.shape, u.se_anno_cad_data)
SELECT usrdemo.glets_1850.shape, usrdemo.glets_1850.se_anno_cad_data
FROM usrdemo.glets_1850;
...并收到消息:Ora-01400 - 无法将NULL插入...“umriss”。“umr_nr”
这是如何运作的?
答案 0 :(得分:0)
您已尝试在表umriss
中插入新记录,而未设置主键列umr_nr
的值。
如果我已正确理解,您已经将记录手动插入表umriss
,现在您需要做的只是添加附加列,然后您应该使用UPDATE
。