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

无法成功地将数据插入到oracle db表中

闾丘永春
2023-03-14

请告诉我为什么在qracle insert qquery beow是查询下面得到错误

insert into RT_INVOICE (VERSION, PART_ID_BROKER, EMAIL_ID, ATTACHMENT_ID, INITIAL_AMOUNT, CURRENT_AMOUNT, GROSS_AMOUNT, 
RECEIVED_DATE, COMMITTED_DATE, CREATEDDATE, UPDATEDDATE, SETTLEMENT_DATE, CURR_ISO_CODE, WQTY_CODE_CURRENT, 
BROKER_REFERENCE, CREATED_BY, ENTITY, PRODUCT, BROKER_INV_REF, ASSIGNEE, RECEIPT_DATE, TRADE_COUNT, GST_PCT, 
IS_GST_APPLIED, SOURCE_SYSTEM, DISCOUNT, MANUAL_INDICATOR, MANUAL_REFERENCE, PAYMENT_REFERENCE, QUERY_ASSIGNMENT,
Remarks, PARENT_INVO_ID, INVOICE_MONTH, ID) values (0, 40158334066, 0, 0, 22.0, 22.0, 22.0, '10 October 2016',
null, '2016-10-10 03:51:15', '2016-10-10 03:51:15', null, 'HKD', 'BrokerageManualReconciliationWFQueue',
'IRDOCT169694', 'bro_admin', 'PLC LONDON', 'IRD', 'wwwqqsd', '', '10 October 2016', 0, 0.0, 'false', 'GDS', 0.0, 
'true', null, null, null, null, null, '2016-10', 13093090)

我得到的错误是

Error report:
SQL Error: ORA-01843: not a valid month
01843. 00000 -  "not a valid month"
*Cause:    
*Action:

仅供参考,表的结构为

Name                           Null     Type                                                                            
ID                             NOT NULL NUMBER(32)                      
VERSION                        NOT NULL NUMBER(20)                        
PART_ID_BROKER                 NOT NULL NUMBER(32)                        
INITIAL_AMOUNT                 NOT NULL NUMBER(25,5)                      
CURR_ISO_CODE                           VARCHAR2(20)                      
CURRENT_AMOUNT                 NOT NULL NUMBER(25,5)                      
SETT_ID                                 NUMBER(32)                        
RECEIVED_DATE                  NOT NULL DATE                              
COMMITTED_DATE                          DATE                              
SETTLEMENT_DATE                         DATE                              
CREATEDDATE                    NOT NULL TIMESTAMP(6)                      
UPDATEDDATE                             TIMESTAMP(6)                      
WQTY_CODE_CURRENT              NOT NULL VARCHAR2(100)                     
BROKER_REFERENCE                        VARCHAR2(100)                     
CREATED_BY                     NOT NULL VARCHAR2(30)                      
SOURCE_SYSTEM                  NOT NULL VARCHAR2(20)                      
INVOICE_MONTH                           VARCHAR2(30)                      
ENTITY                         NOT NULL VARCHAR2(50)                      
PRODUCT                        NOT NULL VARCHAR2(50)                      
BROKER_INV_REF                          VARCHAR2(50)                      
ASSIGNEE                                VARCHAR2(50)                      
RECEIPT_DATE                            TIMESTAMP(6)                      
TRADE_COUNT                             NUMBER                            
GST_PCT                                 NUMBER(25,5)                      
IS_GST_APPLIED                          CHAR(1)                           
PARENT_INVO_ID                          NUMBER(32)                        
DISCOUNT                                NUMBER(25,5)                      
MANUAL_INDICATOR                        CHAR(1)                           
MANUAL_REFERENCE                        VARCHAR2(100)                     
PAYMENT_REFERENCE                       VARCHAR2(100)                     
QUERY_ASSIGNMENT                        VARCHAR2(100)                     
REMARKS                                 VARCHAR2(500)                     
ATTACHMENT_ID                           NUMBER(32)                        
EMAIL_ID                                NUMBER(32)                        
GROSS_AMOUNT                   NOT NULL NUMBER(25,5)                        

共有1个答案

齐英耀
2023-03-14

要将字符串转换为日期,请尝试使用to_date函数:

insert into RT_INVOICE (VERSION, PART_ID_BROKER, EMAIL_ID, ATTACHMENT_ID, INITIAL_AMOUNT, CURRENT_AMOUNT, GROSS_AMOUNT, 
RECEIVED_DATE, COMMITTED_DATE, CREATEDDATE, UPDATEDDATE, SETTLEMENT_DATE, CURR_ISO_CODE, WQTY_CODE_CURRENT, 
BROKER_REFERENCE, CREATED_BY, ENTITY, PRODUCT, BROKER_INV_REF, ASSIGNEE, RECEIPT_DATE, TRADE_COUNT, GST_PCT, 
IS_GST_APPLIED, SOURCE_SYSTEM, DISCOUNT, MANUAL_INDICATOR, MANUAL_REFERENCE, PAYMENT_REFERENCE, QUERY_ASSIGNMENT,
Remarks, PARENT_INVO_ID, INVOICE_MONTH, ID) values (0, 40158334066, 0, 0, 22.0, 22.0, 22.0, to_date('10 October 2016', 'dd month yyyy', 'nls_date_language = american') ,
null, to_date('2016-10-10 03:51:15', 'yyyy-mm-dd hh24:mi:ss'), to_date('2016-10-10 03:51:15', 'yyyy-mm-dd hh24:mi:ss'), null, 'HKD', 'BrokerageManualReconciliationWFQueue',
'IRDOCT169694', 'bro_admin', 'PLC LONDON', 'IRD', 'wwwqqsd', '', to_date('10 October 2016', 'dd month yyyy', 'nls_date_language = american'), 0, 0.0, 'false', 'GDS', 0.0, 
'true', null, null, null, null, null, '2016-10', 13093090)
 类似资料:
  • 基本上我有两个简单的表…第一个叫做“user”,它是父表。PK是索引自动递增的。第二个表称为“useradvert”。“id”字段充当索引键,它不会自动递增。每当我尝试插入数据时,它都不会进入表(useradvert)。在我的PHP页面上没有任何错误。我打开了错误报告。我设法创建了一个没有错误的关系表。我已经试着解决这个问题好几天了,并在网上搜索答案,但仍然找不到和理解这个问题。问题是由于子表中的

  • 事情是这样的 我不知道发生了什么,如果有人能帮忙,我会非常感激的。THX!

  • 问题内容: 我一直在看这段代码已有一段时间了,但我看不出问题出在哪里。我已经阅读了整个StackOverflow,但仍然看不到我的错误在哪里。 错误在第13行中,即thats 。我尝试通过http://www.w3schools.com/php/php_mysql_insert.asp帮助自己,但对我没有太大帮助。 问题答案: 警告: 切勿将 w3schools 用于学习目的。他们的教程中有很多错

  • 问题内容: 我正在将数据插入MySQL数据库,以防万一如果插入失败,我需要给出一条适当的错误消息来指示。根据下面的代码,如果插入成功或失败,我将收到消息。 我要做的是仅在数据插入成功时才回显消息,如果失败则返回。我该如何修改我的代码? 问题答案:

  • 使用与hive 2.2.0集成的Spark2.3thriftserver。从火花直线运行。尝试将数据插入配置单元hbase表(以hbase作为存储的配置单元表)。插入到配置单元本机表是可以的。当插入到配置单元hbase表时,它会引发以下异常: