当前位置: 首页 > 知识库问答 >
问题:

如果数据引用到客户表,我如何将其插入cars表?

禄和宜
2023-03-14
CREATE TYPE Customer_t AS OBJECT 
(
    cid char(6),
    name varchar(15),
    birthdate date,
    phone char(10),
    address varchar(50)  
);

CREATE TABLE Customer OF Customer_t 
(
    cid PRIMARY KEY 
);

CREATE TYPE Car_t AS OBJECT 
(
    regno char(9),
    make varchar(12),
    model varchar(10),
    mdate date,
    owner REF Customer_t,
    value number(8,2)
);
/

CREATE TABLE Cars OF Car_t (regno PRIMARY KEY );

INSERT INTO Cars (regno, make, model, mdate, owner, value)
VALUES ('car1', 'german','honda',
  TO_DATE('2000/12/16 12:00:00', 'yyyy/mm/dd hh:mi:ss'), 
  'c1', 8000 );

错误:

SQL错误:ORA-00932:不一致的数据类型:预期REF GET CHAR 00932。00000-“不一致的数据类型:预期%s得到%s”

共有1个答案

张溪叠
2023-03-14

首先,您需要已经创建了一个客户才能引用它。然后您将引用包含在INSERT语句中。见下文:

CREATE TYPE Customer_t AS OBJECT (
  cid  char(6),
  name  varchar(15) ,
  birthdate  date ,
  phone char(10),
  address varchar(50)  
);

CREATE TABLE Customer OF Customer_t (
             cid      PRIMARY KEY );

insert into customer values (customer_t('cl1234', 'Peter', 
  to_date('1990-05-04', 'YYYY-MM-DD'), '1234567890', 
  '123 Maple St'));

CREATE TYPE Car_t AS OBJECT (
  regno char(9),
  make varchar(12) ,
  model varchar(10) ,
  mdate date,
  owner REF  Customer_t,
  value number(8,2)
  );

CREATE TABLE Cars OF Car_t (
            regno      PRIMARY KEY );

insert into cars values (
  car_t('reg123456', 'honda', 'accord',
    to_date('2000-12-16 12:00:00', 'YYYY-MM-DD HH24:MI:SS'),
    (select ref(cu) from customer cu where cid = 'cl1234'),
    8000)
  );
 类似资料:
  • 本文向大家介绍我们如何将数据插入MySQL表?,包括了我们如何将数据插入MySQL表?的使用技巧和注意事项,需要的朋友参考一下 要将数据插入到MySQL表中,我们需要使用INSERT INTO命令。我们必须在INSERT INTO命令中为表的所有列指定值。 语法 示例 假设我们有一个名为“ Student”的表,其中包含三列“ RollNo”,“ Name”和“ Class”,然后借助以下查询,我

  • 问题内容: 有人可以告诉我,以下JDBC代码中的第一个条件是否是针对两个不同的表执行两个不同的SQL查询? 问题答案: 在我的书中,我总是建议关闭已经打开的资源,以避免可能的泄漏。 一种更现代的方法是使用try-with- resources :

  • 问题内容: 我需要帮助,以从R语言向SQL服务器写入一个简单的数据行。(使用RODBC或其他方式)。 问题答案: 您可以使用where写入所有数据(所有行)。这将在您的数据库中创建一个带有名称的表。 然后,您可以通过附加现有表。

  • 本文向大家介绍我们如何使用PHP脚本将数据插入到现有的MySQL表中?,包括了我们如何使用PHP脚本将数据插入到现有的MySQL表中?的使用技巧和注意事项,需要的朋友参考一下 众所周知,PHP向我们提供了名为mysql_query的函数,用于将数据插入现有的MySQL表中。 示例 为了说明这一点,在以下示例中,我们将借助PHP脚本将数据插入名为“ Tutorials_tbl”的表中-

  • 问题内容: 我有下表的计数器: 我想增加一个计数器,如果相应的行还不存在,则将其设置为零。有没有办法在标准SQL中没有并发问题的情况下做到这一点?该操作有时是事务的一部分,有时是独立的。 如果可能,SQL必须在SQLite,PostgreSQL和MySQL上未经修改地运行。 搜索产生了一些想法,这些想法可能遇到并发问题,或者特定于数据库: 尝试到新行,如果有错误。不幸的是,该错误会中止当前事务。

  • 问题内容: 我有一个应用程序,我想从excel读取数据,将其插入数据库,然后为特定用户生成pdf报告。我进行了很多搜索,但没有具体说明这两种情况。 问题答案: 使用PHPExcel库读取Excel文件并将数据传输到数据库中 一切都变得非常取决于您的数据库以及如何在其中构造数据