sql - 插入语句 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;
推荐阅读
- xaml - 如何从网格的第二行开始包装文本块?
- python - 在 Python 中单击隐藏的输入 Selenium
- r - 如何使用 R 中的多边形 shapefile 裁剪图像?
- javascript - 在电子无法连接到 URL 时设置占位符图像/HTML
- r - R 光栅:裁剪后的光栅与原始光栅的颜色(亮度)不同?
- javascript - scrollIntoView 在启动时加载
- cordova - 科尔多瓦运行 android 以退出代码 1 退出
- javascript - D3 从 .onclick 打开引导模式
- rapidjson - 使用 PrettyWriter 将 rapidjson 文档写入文件
- c++ - 是否可以强制 STL 集重新评估谓词?