繁体   English   中英

oracle sql:从更多现有表中插入空间数据

[英]oracle sql: insert spatial data from more existing table

我创建了一个表umriss ,并用数据填充了该表,但仍然需要从现有表( usrdemo.glets_1850usrdemo.glets_1973 ,...)中插入几何数据。 这是如何运作的?

umriss是一个“弱实体”,并引用了表gletscherstandglst_id )和gletschergletscher_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_nrumr_datumglst_idgletscher_id 正如你可以看到从umr_nr有3种形状,我现在想从添加空间数据usrdemo_glets_1850其中有3种形状和属性: objectid (= umr_nrumriss ), shapese_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”

这是如何运作的?

您haved试图插入新的记录表umriss无主键列设置值umr_nr

如果我正确理解,您已经将记录手动插入到表umriss ,现在您需要做的只是添加其他列,那么您应该改用UPDATE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM