2016-06-19 2 views
2

Я пытаюсь выполнить оператор insert-select в N1QL (вставляя документы, что их ключ/значение являются результатом оператора select), и я не понимаю синтаксис.N1QL - Insert-Select

Я попытался выполнения:

insert into tempbucket (KEY payload.id,VALUE select * from default where payload.fooId in [100,101 ]) RETURNING * ; 

в некоторых вариациях, но ничего не получалось.

Edit: SELECT, утверждение

выберите * от дефолта, где payload.fooId в [100101]

КЛЮЧ документов, которые я хочу, чтобы создать это значение поля key и VALUE - это весь JSON из инструкции SELECT, упомянутой выше.

+0

Измените свой вопрос и разделите следующие 3 вещи: инструкцию SELECT, которая будет использоваться в качестве источника; часть SELECT, которая будет использоваться в качестве КЛЮЧА; часть SELECT, которая будет использоваться как VALUE. Пожалуйста, поместите каждый в отдельный параграф для ясности. – geraldss

+0

Спасибо, отредактирован. – shays10

ответ

1

KEY и VALUE должны ссылаться на выражения из вашего запроса.

INSERT INTO tempbucket (KEY d.`key`, VALUE d) 
SELECT d 
FROM default d 
WHERE payload.fooId IN [100,101 ] 
; 
Смежные вопросы