2015-03-11 2 views
0

Этот запрос:Как исправить ошибки ORA-01427: однорядные подзапрос возвращает более одной строки

SELECT u2.MR_ID from up_module_master u2 where u2.MR_NAME='Applications' 

возвращает два ряда, но когда я его создал, я создал только одну строку.

INSERT INTO UP_PERMISSION_MASTER (MR_ID,P_NAME,P_HOLDER) 
    values ((SELECT u2.MR_ID from up_module_master u2 
      where u2.MR_NAME='Applications'),'create','0') 

Как исправить ошибки ORA-01427: однорядные подзапрос возвращает более одной строки

+0

предел ваш результат 1 –

+0

Чтобы быть ясно, сколько записей вы хотите вставить в UP_PERMISSION_MASTER: 1 или 1 для каждой соответствующей записи в UP_MODULE_MASTER? – APC

ответ

4

Do INSERT...SELECT вместо INSERT VALUES:

INSERT INTO UP_PERMISSION_MASTER (MR_ID,P_NAME,P_HOLDER) 
    SELECT u2.MR_ID, 'create','0' 
    from up_module_master u2 
    where u2.MR_NAME='Applications' 
+1

Орел глаз;) Вверх-проголосовали! –

Смежные вопросы