2016-09-24 32 views
0

當我運行這個查詢是說,逗號缺失..請檢查出來。 這是我的查詢。當我運行此查詢它告訴逗號缺少..?

INSERT 
    INTO 
     VI_STAT_APP 
     (STAT_TYPE_ROWID,STAT_REASON_ROWID,STAT_APP_ROWID="3815226") 
    VALUES 
     ((SELECT 
      stat_reason.STAT_TYPE_ROWID 
     from 
      VI_STAT_TYPE stat_type 
     inner join 
      VI_STAT_GRP stat_grp 
       on stat_type.STAT_GRP_ROWID=stat_grp.STAT_GRP_ROWID 
     left outer join 
      VI_STAT_REASON stat_reason 
       on stat_reason.STAT_TYPE_ROWID=stat_type.STAT_TYPE_ROWID 
     where 
      stat_grp.STAT_GRP_NAME="DNB STATUS VALUES - AGMNT"),(SELECT 
      stat_reason.STAT_REASON_ROWID 
     from 
      VI_STAT_TYPE stat_type 
     inner join 
      VI_STAT_GRP stat_grp 
       on stat_type.STAT_GRP_ROWID=stat_grp.STAT_GRP_ROWID 
     left outer join 
      VI_STAT_REASON stat_reason 
       on stat_reason.STAT_TYPE_ROWID=stat_type.STAT_TYPE_ROWID 
     where 
      stat_grp.STAT_GRP_NAME="DNB STATUS VALUES - AGMNT")); 

在此先感謝。

+0

錯誤是否提到查詢的哪一部分有錯誤? – kkaosninja

+0

'STAT_APP_ROWID =「3815226」'...這看起來不對,因爲您正試圖在列名部分指定一個值。 –

回答

0

這看起來不正確對我說:

STAT_APP_ROWID="3815226" 

緊隨INSERT INTO列名的列表恰恰意味着列名,而不是價值。如果你想硬代碼中插入了START_APP_ROWID列的值,然後將其轉移到VALUES部分,例如:

INSERT INTO VI_STAT_APP 
    (STAT_TYPE_ROWID, STAT_REASON_ROWID, STAT_APP_ROWID) 
VALUES 
(
    (SELECT stat_reason.STAT_TYPE_ROWID 
    FROM VI_STAT_TYPE stat_type 
    INNER JOIN VI_STAT_GRP stat_grp 
     ON stat_type.STAT_GRP_ROWID = stat_grp.STAT_GRP_ROWID 
    LEFT OUTER JOIN VI_STAT_REASON stat_reason 
     ON stat_reason.STAT_TYPE_ROWID = stat_type.STAT_TYPE_ROWID 
    WHERE stat_grp.STAT_GRP_NAME = "DNB STATUS VALUES - AGMNT"), 
    (SELECT stat_reason.STAT_REASON_ROWID 
    FROM VI_STAT_TYPE stat_type 
    INNER JOIN VI_STAT_GRP stat_grp 
     ON stat_type.STAT_GRP_ROWID = stat_grp.STAT_GRP_ROWID 
    LEFT OUTER JOIN VI_STAT_REASON stat_reason 
     ON stat_reason.STAT_TYPE_ROWID = stat_type.STAT_TYPE_ROWID 
    WHERE stat_grp.STAT_GRP_NAME = "DNB STATUS VALUES - AGMNT"), 
    "3815226"  // include this value here 
); 

您當前的查詢嘗試的INSERT INTO條款中提到的三列,而只給兩個實際值。

+0

正如你告訴我那樣做,但現在它給...... org.hibernate.exception.SQLGrammarException:ORA-01031:權限不足 \t at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82) \t在 – sunny

+0

這似乎是[完全無關的錯誤](http://stackoverflow.com/questions/6880215/not-able-to-access-field-through-hibernate-on-oracle-database-on-diferent -userspace與 - 只選-特權時)。 –

+0

但有一點它給出了同樣的錯誤,在我的查詢中沒有什麼錯誤? – sunny