2011-12-15 95 views
0

私は、Oracle 9iデータベースを持つColdFusion MX7でORACLE:明らかなエラーで無効user.table.column、table.columnまたは列指定

<CFQUERY DataSource="#XXX.DSN#"> 
    UPDATE FUNKUS_LIST 
    SET 
    <CFIF OPERATIONRECEIVED IS "Enable"> 
     FUNKUS_STATUS_ID=<CFQUERYPARAM value="1" 
     CFSQLTYPE="CF_SQL_INTEGER"> 
    <CFELSEIF OPERATIONRECEIVED IS "Revoke"> 
     FUNKUS_STATUS_ID=<CFQUERYPARAM value="3" 
     CFSQLTYPE="CF_SQL_INTEGER"> 
    </CFIF> 
    WHERE 
     FUNKUS_LIST_ID in (
     <CFQUERYPARAM value="#form.dltCheckbox#" 
     CFSQLTYPE="CF_SQL_INTEGER" 
      LIST="Yes"> 
      ) 
</CFQUERY> 

を実行しています。

エラーデータベースクエリを実行している可能性があります。 ORA-01747:無効user.table.column、 TABLE.COLUMN、または列仕様

form.dltCheckboxは、フォーム上のチェックボックスグループであるべきです。

FUNKUS_LIST_IDは整数型の列であり、マニュアルで記載されている数値は正しいIDであり、有効なIDです。 OPERATIONRECEIVEDは、このアクションフォームで何をすべきかを表す文字列です。私は、列名とテーブル名が

+0

このテーブルに問題の原因となっているトリガーがありますか? –

答えて

3

に一致するすべてのあなたのcfqueryparamのにリスト=「true」属性を追加する必要があります確認しました:

WHERE 
     FUNKUS_LIST_ID in (
     <CFQUERYPARAM value="#form.dltCheckbox#" LIST="TRUE" 
     CFSQLTYPE="CF_SQL_INTEGER">) 

...また、決算括弧を追加

edit

あなたのコメントに応じて、OPERATIONRECEIVEDは間違いなく「有効」または「取り消し」のいずれかであることを確認しましたか?それ以外のものであれば、set句に列がリストされないため、SQLは不完全なものになります。

+0

申し訳ありませんが、何とか私はそこにリストの宣言がありませんでした。編集中の質問...まだエラーがあります。 – Rig

+0

更新を参照してください –

+0

まあ私はそれが正しいと信じています。 \t \t \t \t \t \t のようなものから来るでしょう。 – Rig

関連する問題