2011-08-09 12 views
0
INSERT INTO FCR.TRANSACTION (TRX_UNIT, TRX_DATE, TRX_USR, 
     TRX_USR_SN, TRANSACTION_CODE, 
     PRODUCT_CODE, CURRENCY_SHORT_DESCRIPTION, 
     AMOUNT_FC, EXCHANGE_RATE, AMOUNT_DC) 
SELECT SOURCE_SYSTEM_CHANNEL_CODE, to_char(TRANSACTION_DATE), 'dd/mm/yyyy'), 
    USER_CODE, USER_TRANSACTION_SERIAL_NUMBER, TRANSACTION_CODE, 
    PROFITS_PRODUCT_CODE, SHORT_DESCRIPTION, SOURCE_AMOUNT_FC, 
    SOURCE_EXCHANGE_RATE, SOURCE_AMOUNT_EUR 
FROM FCR.ORION_FCR_TRANSACTION 
WHERE TRANSACTION_DATE = 'to_char(" + date + ", 'dd/mm/yyyy')' 

上記のクエリは、誰もが上記の問題を解決するために私を助けてください、私にORA-00923 ERROR. FROM KEYWORD NOT FOUND IN POSITION.ORA-00923 Oracleエラー

を与えています。

WHERE TRANSACTION_DATE = 'to_char(" + date + ", 'dd/mm/yyyy')' 
+0

すべてを大文字で書く必要はありません。 SQLにはそのような伝統があります。自然言語はそうではありません。 – whitequark

+0

to_charがwhere句の文字列として引用されるのはなぜですか? –

+1

SO構文の強調表示は素晴らしいです! INSERT INTO FCR.TRANSACTION(TRX_UNIT、TRX_DATE、TRX_USR、TRX_USR_SN、TRANSACTION_CODE、PRODUCT_CODE、CURRENCY_SHORT_DESCRIPTION、AMOUNT_FC、EXCHANGE_RATE、AMOUNT_DC) SELECT SOURCE_SYSTEM_CHANNEL_CODE、TO_CHAR(TRANSACTION_DATE、 'DD/MM/YYYY'): –

答えて

3

それが原因TRANSACTION_DATE後の決算括弧のです:

私はエラーが私のC#コードの行とは何かを持っていると思います。

文字列内のWHERE句にto_charを入れても、それは役に立ちません。 :)

わかりませんが、ちょっとしたインデントを使用すると役立つかもしれません。クエリがよりわかりやすい形で表示されている場合は、このような誤植を見つけるのが簡単になります。私はこれを推測している

INSERT INTO FCR.TRANSACTION (
    TRX_UNIT, 
    TRX_DATE, 
    TRX_USR, 
    TRX_USR_SN, 
    TRANSACTION_CODE, 
    PRODUCT_CODE, 
    CURRENCY_SHORT_DESCRIPTION, 
    AMOUNT_FC, 
    EXCHANGE_RATE, 
    AMOUNT_DC) 
SELECT 
    SOURCE_SYSTEM_CHANNEL_CODE, 
    to_char(TRANSACTION_DATE), 'dd/mm/yyyy'), 
    USER_CODE, 
    USER_TRANSACTION_SERIAL_NUMBER, 
    TRANSACTION_CODE, 
    PROFITS_PRODUCT_CODE, 
    SHORT_DESCRIPTION, 
    SOURCE_AMOUNT_FC, 
    SOURCE_EXCHANGE_RATE, 
    SOURCE_AMOUNT_EUR 
FROM 
    FCR.ORION_FCR_TRANSACTION 
WHERE 
    TRANSACTION_DATE = 'to_char(" + date + ", 'dd/mm/yyyy')' 
+0

おかげで、私は括弧を除去しました、USER_CODE、USER_TRANSACTION_SERIAL_NUMBER、TRANSACTION_CODE、PROFITS_PRODUCT_CODE、SHORT_DESCRIPTION、SOURCE_AMOUNT_FC、SOURCE_EXCHANGE_RATE、SOURCE_AMOUNT_EUR FCR.ORION_FCR_TRANSACTION FROM WHERE TRANSACTION_DATE = 'TO_CHAR( "+日付+"、「DD/MM/YYYY')とエラーORA-00933: SQLコマンドが正しく処理されません – mikespiteri

+2

..and?なんかあったの? –

+0

@ golezTrol - あなたのクエリを試しましたが、FROMキーワードが見つからないと予想されるエラーが発生しました。私が間違っているものは何か考えていますか?>ありがとうalot – mikespiteri

3

to_char(TRANSACTION_DATE, 'dd/mm/yyyy'), 

と、この:

WHERE TRANSACTION_DATE = 'to_char(" + date + ", 'dd/mm/yyyy')' 

は、このする必要があります

to_char(TRANSACTION_DATE), 'dd/mm/yyyy'), 

は、このする必要があります

WHERE TRANSACTION_DATE = to_char(date, 'dd/mm/yyyy')' 
+0

私はそれらを変更しましたが、まだSQLコマンドが正しく終了していないことを私に伝えています。私は私のSQLクエリを添付しています:INSERT INTO FCR.TRANSACTION(TRX_UNIT、TRX_DATE、TRX_USR、TRX_USR_SN、TRANSACTION_CODE、PRODUCT_CODE、CURRENCY_SHORT_DESCRIPTION、AMOUNT_FC、EXCHANGE_RATE、AMOUNT_DC) SELECT SOURCE_SYSTEM_CHANNEL_CODE、TO_CHAR(TRANSACTION_DATE、 'DD/MM/YYYY')、 FCR.ORION_FCR_TRANSACTION TRANSACTION_DATE = 'to_char関数(日付、 'DD/MM/YYYY')' FROM USER_CODE、USER_TRANSACTION_SERIAL_NUMBER、TRANSACTION_CODE、PROFITS_PRODUCT_CODE、SHORT_DESCRIPTION、SOURCE_AMOUNT_FC、SOURCE_EXCHANGE_RATE、SOURCE_AMOUNT_EUR – mikespiteri

+1

は、なぜあなたはto_char関数(日付」の前後に引用符を持っていますか、 'dd/mm/yyyy') '彼らは必要ありません – StevieG

2

それをより明確にするためにフォーマットした後、あなたが追加したことが表示されますa)は彼に一部

を選択するあなたは、私はあなたはそれがかもしれないTRANSACTION_DATE後to_char関数のための余分なエンドブラケットを追加したと思うSELECT SOURCE_SYSTEM_CHANNEL_CODE, to_char(TRANSACTION_DATE), 'dd/mm/yyyy'),

を持っていますbe

SELECT SOURCE_SYSTEM_CHANNEL_CODE, to_char(TRANSACTION_DATE, 'dd/mm/yyyy'), 

これは、コードを明確に書式設定し、角括弧に一致するエディタを使用するのに役立ちます。

+2

+1ブラケットマッチングのIDEのための3つの歓声! – APC