2016-09-24 3 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セクションにそれをシフト:のみ、実際の2を与えながら

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句で3つの列に言及しようとしました値。

+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-with-only-select-priviliges)を使用します。 –

+0

しかし、1つのことは私のクエリに間違って何も同じエラーを与えている? – sunny

関連する問題