无法将数据插入oracle表

时间:2017-11-17 01:43:17

标签: oracle oracle-apex

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

预订结构

enter image description here

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

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

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

此查询有什么问题?

3 个答案:

答案 0 :(得分:3)

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格式,则可以使用DATE。
  3. 创建十进制字段时,第一个数字是TOTAL位数,第二个数字是小数点后面的位数。所以4,2允许-99.99到99.99为最大值。要存储1235.01,您至少需要6位数,因此至少需要6,2。

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

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)
;

这两个都是正确答案。

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

我通常会为此目的关注W3Schools。

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