2013-03-04 41 views
2

我試圖插入數據到我的數據庫中的表。我正在使用Oracle Apache Derby數據庫。我有以下的代碼 -德比數據庫插入錯誤SQL狀態21000

Insert into P2K_DBA.ODS_CNTRL 
(ODS_LOAD_ID, ODS_STATUS, USR_WWID, USR_FIRST_NM, 
USR_LAST_NM, USR_DISPLAY_NM, USR_NT_ID,TOT_AMT, 
TOT_RCD_CNT, TOT_QTY, LAST_UPD_DT, ODS_ADJ_TYP, 
ODS_ADJ_DESC, APRV_WWID, APRV_FIRST_NM,APRV_LAST_NM, 
APRV_DISPLAY_NM, APRV_NT_ID, APRV_DT 
) 
values 
(6,'avail','64300339', 'Travis', 
'Taylor', 'TT', '3339', 33, 
15, 40, '7/10/2012', 'test', 
'test', '64300337', 'Travis', 
'Taylor', 'TT', '3339', '2/06/2013'); 

我跑這個SQL命令並收到以下錯誤 -

「錯誤代碼爲-1,SQL狀態21000:標量子查詢只允許返回一行 第1行第1列「

我幾天前成功運行了此代碼。最重要的是,我嘗試手動輸入此表中的數據(使用NetBeans),並讓它自動生成代碼,導致相同的錯誤。

是什麼導致這個錯誤,我該如何解決/繞過它?

+1

錯誤消息與發佈的SQL無關。 – 2013-03-04 17:51:40

+0

當我運行那個查詢,這是我收到的錯誤消息。我試圖斷開並重新連接數據庫無濟於事。我上面提到過,該代碼上週向表中添加了行(數據),但現在我收到了該錯誤消息。 – 2013-03-04 19:36:34

+2

我已修復此問題的一個方面。我拿走了一個現有的觸發器。一旦觸發器被刪除,上面的insert語句就可以正常工作。該觸發器爲一個值返回多行,導致錯誤。 – 2013-03-04 21:11:31

回答

0

中,你可能會遇到這樣的一種方式是像做

CREATE函數f(...)...

F((SELECT COL FROM T))

但你可以改爲寫

...(SELECT F(COL)FROM T)提供了新的上下文允許子查詢,也就是說。