ORA-00932:插入时出现不一致的数据类型错误

问题描述 投票:0回答:1

我收到此错误:

ORA-00932:不一致的数据类型:预期REF ADDRESS_TYPE得到ADDRESS_TYPE

这是我的CREATE脚本:

CREATE OR REPLACE TYPE address_type AS OBJECT
(
    house_name VARCHAR2(20),
    street     VARCHAR2(20),
    city       VARCHAR2(20),
    postcode   VARCHAR2(9)
)
/

CREATE TABLE addresses OF address_type;

CREATE TABLE customers
(
    customer_id NUMBER(6),
    title       VARCHAR2(5),
    firstname   VARCHAR2(20),
    surname     VARCHAR2(20),
    telephone   VARCHAR2(12), --VARCHAR2 used as customer may use +44
    address     REF address_type SCOPE IS addresses
);

这是我的Insert脚本:

INSERT INTO customers (customer_id, title, firstname, surname, telephone, address)
VALUES (1, 'mr', 'ross', 'xd', '01234881632', 
        address_type('exdee', 'may road', 'lurvey', 'rs34 8dt'));

我已经尝试将REF address_type放入插入表中,但这不起作用,它只是要求逗号。我也尝试从create table中删除REF。我不确定我在这里做错了什么,会感激一些帮助。

sql database oracle
1个回答
0
投票

你不需要REFSCOPE IS address。只需将您的行更改为:

address     address_type

SQLFiddle

© www.soinside.com 2019 - 2024. All rights reserved.