繁体   English   中英

插入语句Oracle

[英]Insert statement Oracle

这是我的桌子

create table reservations (
    ResID int NOT NULL,
    GuestID int,
    HotelID int,
    Check_in DATE,
    Check_out DATE,
    RoomType varchar2(15),
    Price Dec(8,2),
    PRIMARY KEY (ResID),
    CONSTRAINT FK_GuestIDX FOREIGN KEY(GuestID) REFERENCES Guests(GuestID),
    CONSTRAINT FK_HotelID FOREIGN KEY(HotelID) REFERENCES Hotel(HotelID)
);

表格创建成功。 现在我正在尝试填充表格

这是我的插入语句

insert into reservations (1, 1, 2, '17-DEC-2018', '21-DEC-2018', 'Suite', 87.03);

这是我得到的错误

ORA-00928:缺少SELECT关键字

这可能是什么原因?

或缺少values

insert into reservations
    values (1, 1, 2, '17-DEC-2018', '21-DEC-2018', 'Suite', 87.03);

也就是说,我建议将其编写为:

insert into reservations (ResID, GuestID, HotelID, Check_in, Check_out DATE, RoomType, Price)
    values (1, 1, 2, DATE '2018-12-17', DATE '2018-12-21', 'Suite', 87.03);

注意:

  • insert之后列出各列。 这确实可以防止难以调试的错误。
  • 这使用DATE关键字引入日期常数。

您也可以使用SELECT编写此代码:

insert into reservations (ResID, GuestID, HotelID, Check_in, Check_out DATE, RoomType, Price)
    select 1, 1, 2, DATE '2018-12-17', DATE '2018-12-21', 'Suite', 87.03
    from dual;

暂无
暂无

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

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