Sql 用于2行的subselect ininsert语句

Sql 用于2行的subselect ininsert语句,sql,oracle,sql-insert,Sql,Oracle,Sql Insert,这是我的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,

这是我的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"
如果我只运行subselect:

 SELECT DISTINCT ID, VERSION FROM LISTS
            WHERE SERVICE_KEY = '10s3f10-111'
            AND LIST_COLOR = 2
            AND MANDATOR_KEY = 'ASD'
我得到的结果是
11145

怎么了?为什么我不能用subselect插入2个值。我查看了本手册,并在这里工作:

这可以使用
插入到…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'

这可以使用
插入到…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'

aaaa我忘了在前面添加select。谢谢!你救了我一天:Daaaa我忘了添加select infront。谢谢!你救了我一天:D