2015-07-15 6 views
0

У меня есть таблица Ty содержит:вставить в таблицу из запроса в Postgresql

a integer NOT NULL, 
    b text, 
    c text, 
    d text, 
    e text 

Я пытаюсь сделать insrert даного следующим образом:

insert into Ty (b,c,d,e) values 
       ('hello','world',select current_date,select name from users where userid=4) 

Но это не работает. В нем написано:

ERROR: syntax error at or near "select"

Все прочитанные руководства говорят, что я могу выполнять инструкцию SQL в Insert, пока они возвращают только одно значение. Так почему это не работает?

+0

Вы должны скобки вокруг подзапросов –

ответ

1
insert into Ty (b,c,d,e) 
SELECT 'hello','world',current_date, name from users where userid=4 
2
insert into Ty (b,c,d,e) 
select 'hello','world',current_date,name from users 
where userid=4 
+0

Значения ключевых слов вызывает ту же ошибку , @Paul отвечает работает – John

+0

Я заметил extrac brace и уже удалил его. См. Мой отредактированный ответ – Madhivanan

+0

Все еще не работает; ключевое слово 'values' не должно быть –

0

второй способ сделать это заключается в добавлении() вокруг SELECT, как показано в следующем примере:

test=# SELECT (SELECT 1); 
?column? 
---------- 
     1 
(1 row) 
Смежные вопросы