Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何插入到对象表中?_Sql_Oracle_Oracle11g - Fatal编程技术网

Sql 如何插入到对象表中?

Sql 如何插入到对象表中?,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,这里我有一个引用两个对象表的表,到目前为止没有错误: CREATE TABLE venues ( venue_id NUMBER(6), venue_name VARCHAR2(30), address REF address_type SCOPE IS addresses, venue_type REF venue_type SCOPE IS venue_table_type, provision

这里我有一个引用两个对象表的表,到目前为止没有错误:

CREATE TABLE venues (
venue_id             NUMBER(6),
venue_name           VARCHAR2(30),
address              REF address_type SCOPE IS addresses,
venue_type           REF venue_type SCOPE IS venue_table_type,
provision            provision_table_type)
NESTED TABLE provision STORE AS provision_table;
但是,一旦我尝试使用以下命令插入此表:

    INSERT INTO venues (venue_id, venue_name, address, venue_type, provision)
VALUES (seq_venues.NEXTVAL, 'O2', address_type('PENINSULA SQUARE', 'LONDON', 'LONDON', 'SE10 0DX'),
 venue_type(20000, 'A MULTI-PURPOSE INDOOR ARENA LOCATED IN THE CENTRE OF LONDON.'),
    provision_table_type(
    provision_type('BBQ'),
    provision_type('RESTAURANTS'),
    provision_type('TOILETS')));
我得到以下错误:

第2行错误: 数据类型不一致:应为REF SYS.ADDRESS\u TYPE获得SYS.ADDRESS\u TYPE

我想我是错误地插入了一个引用对象表,希望您能提供一些正确方法的指导


谢谢

A
REF
必须引用表中的现有行。例如:

create type address_type is object (a number);
create table addresses of address_type;
insert into addresses values(address_type(1));
commit;

create table venues
(
    venue_name VARCHAR2(30),
    address    REF address_type SCOPE IS addresses
);

insert into venues
values('Name', (select ref(addresses) from addresses addresses where a = 1));

你能用实际使用的数据库管理系统来标记这个吗<代码>SQL只是一种语言。