2015-05-21 151 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是的,我更新了我的答案。還有兩個字符串值缺少單引號。 –

相關問題