无法将数据插入 oracle Table

Not able to insert data into oracle Table

我创建了一个名为 Booking 的 table。

预订结构为

我正在使用以下语法插入数据:-

INSERT INTO Booking (
(id,price,date1,c_id)
values(1,1235.01,'2016-10-11', 1));

但我收到 ORA-00928:缺少 SELECT 关键字 错误。 我正在使用 Oracle 顶点应用程序。

这个查询有什么问题?

INSERT INTO Booking (id,price,date1,c_id)
values(1,1235.01,to_date('2016-10-11','yyyy-mm-dd'), 1)
;
  1. 必须删除一组额外的括号
  2. 包含日期的字符串需要转换为日期,这可以使用非常灵活的 to_date() 函数来完成,或者如果字符串严格采用 YYYY-MM-DD 格式,则可以使用日期。
  3. 创建小数字段时,第一个数字是总位数,第二个数字是小数点后的位数。所以 4,2 允许 -99.99 到 99.99 作为最大值。要存储 1235.01,您至少需要 6 位数字,因此至少需要 6,2。

第一个问题是额外的一对括号。其次,其中一个值可能是日期(而不是字符串)。我会建议:

INSERT INTO Booking (id, price, date1, c_id)
    VALUES (1, 1235.01, DATE '2016-10-11', 1);

DATE 关键字将以下字符串解释为日期。

这仍然会失败,因为 price 有六位数,而不是四位数。降低价格或增加 price 列的大小。

INSERT INTO Booking(id,price,date1,c_id) values(1,1235.01,'2016-10-11', 1);

INSERT INTO Booking (id,price,date1,c_id)values(1,1235.01,to_date('2016-10-11','yyyy-mm-dd'), 1)
;

这两个都是正确答案。

我肯定会建议您使用参考文献,因为它们会帮助您进一步理解和编写更好、更复杂的查询。

我通常会为此关注 W3School。

我附上 a link here 以便您可以访问该特定网页以获取更多信息。