1

これは私のSQLです:

insert into
        LIST_ENTRIES(MANDATOR_KEY, SERVICE_IDENTIFIER, SERVICE_IDENTIFIER2,
        REASON_CODE, BLOCK_TYPE, VALID_FROM, VALID_TO, LISTS_KEY, VERSION)
        values
        ('Abra2', 'abrakadabra',NULL,8,0,SYSDATE,SYSDATE,
        SELECT DISTINCT ID, VERSION FROM LISTS
        WHERE SERVICE_KEY = '10s3f10-111'
        AND LIST_COLOR = 2
        AND MANDATOR_KEY = 'ASD');

そして私は例外を取得します

00936. 00000 -  "missing expression"

副選択を実行するだけの場合:

 SELECT DISTINCT ID, VERSION FROM LISTS
            WHERE SERVICE_KEY = '10s3f10-111'
            AND LIST_COLOR = 2
            AND MANDATOR_KEY = 'ASD'

結果は次のようになります11, 145

なにが問題ですか?サブセレクトで2つの値を挿入できないのはなぜですか。私はこのマニュアルをチェックし、ここで動作します: http ://www.techonthenet.com/sql/insert.php

4

1 に答える 1

1

INSERT INTO...SELECTこれは、ステートメントを使用して実行できます。

INSERT INTO LIST_ENTRIES(MANDATOR_KEY, SERVICE_IDENTIFIER, SERVICE_IDENTIFIER2, REASON_CODE, BLOCK_TYPE, VALID_FROM, VALID_TO, LISTS_KEY, VERSION)
SELECT  'Abra2', 'abrakadabra',NULL,8,0,SYSDATE,SYSDATE, ID, VERSION 
FROM    LISTS
WHERE   SERVICE_KEY = '10s3f10-111' AND 
        LIST_COLOR = 2 AND 
        MANDATOR_KEY = 'ASD'
于 2013-02-20T14:13:09.323 に答える