2015-05-21 157 views
1

我不是那么到数据库和我有一些问题,实现在一个名为CODA_TX表的简单插入查询(上甲骨文分贝),其具有以下结构:为什么这个简单的插入查询不能工作?

describe CODA_TX 
Nome     Nullo Tipo   
-------------------- -------- -------------- 
PK_CODA    NOT NULL NUMBER(10)  
FK_TIPO_DOC     NUMBER(4)  
FK_PIVA_MITTENTE    VARCHAR2(16) 
FK_CDZZ      VARCHAR2(4)  
DATA_IN      DATE   
FK_STATO    NOT NULL NUMBER(2)  
DATA_OUT      DATE   
NUM_DOC      VARCHAR2(35) 
CANALE      VARCHAR2(3)  
SIZE_XML      NUMBER(10)  
FK_PIVA_DESTINATARIO   VARCHAR2(20) 
INDIRIZZAMENTO    VARCHAR2(100) 
SIGNATURE      VARCHAR2(1)  
PRG_CONSERVAZIONE    NUMBER(10)  
MIT_DATA_CONS     DATE   
MIT_LOTTO_CONS    VARCHAR2(50) 
DES_DATA_CONS     DATE   
DES_LOTTO_CONS    VARCHAR2(50) 
SEGNALAZIONE     VARCHAR2(4000) 
IDOC_NUM      NUMBER   
CODICE_UFFICIO_PA    VARCHAR2(6)  
IDENTIFICATIVO_SDI   NUMBER(12)  
NOME_FILE_SDI     VARCHAR2(50) 

所以我已经实现这插入查询来创建一个新的记录。正如你可以看到我指定一些字段必须进行增值,在没有指定我认为应该自动设置好的,以(是正确的吗?):

insert into 
    CODA_TX (PK_CODA, 
      FK_TIPO_DOC, 
      FK_PIVA_DESTINATARIO, 
      DATA_IN, 
      FK_STATO, 
      DATA_OUT, 
      CANALE, 
      SIZE_XML, 
      FK_PIVA_MITTENTE) 
    values(70045, 
      5, 
      01392380547, 
      Thu May 21 16:33:40 CEST 2015, 
      2, 
      Thu May 21 16:33:40 CEST 2015, 
      WEB, 
      554, 
      01392380547) 

的问题是,在执行此查询我获得此错误消息:

Bind variable "33" non dichiarata (NOT DECLARED) 
0 righe inserito. 

究竟是什么意思?我错过了什么?我该如何解决这个问题?

TNX

+5

你知道文本值应该被括入单引号''',对吧? –

+0

用单引号括起字符串,并将日期 - 时间字符串转换为日期值(使用'to_date') –

+0

您需要用引号括住字符串,日期需要根据NLS_DATE_FORMAT设置格式化,或者使用to_date函数格式化为你希望。 – OldProgrammer

回答

4

周四5月21日16点33分四十秒CEST 2015年

既不也不日期

DATA_INDATA_OUT列的数据类型为DATE,和日期不能时区。

  • 添加单引号使其成为文字。
  • 使用TO_DATE与适当的FORMAT模型将文字转换为日期。
  • 删除时区元素,或者先将列的数据类型更改为TIMESTAMP

好像你没有把研究和了解从我answerprevious question什么任何努力。

WEB

必须始终封闭字符串中单引号

例如,

'WEB' 

NUMBER不能与零启动。既然你它声明为VARCHAR2数据类型,内单引号

最重要的问题是,你的价值观不匹配的列括起来。例如,第三个最后一个值Thu May 21 16:33:40 CEST 2015被映射到列CANALE。但是,列被描述为:

CANALE VARCHAR2(3)

所以,你有你的简单插入查询基本问题

+0

他也应该把'WEB'放在单引号中。 – Zenadix

+0

@Zenadix是的,我更新了我的答案。还有两个字符串值缺少单引号。 –

相关问题