Заполнение JSONB в цикле

startup
Дата: 19.03.2015 19:37:47
Добрый день.
Помогите с синтаксисом, плиз.
Пытаюсь заполнить поле типа JSONB в цикле

SELECT version();
"PostgreSQL 9.4.1 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11), 64-bit"


CREATE TABLE test.services_jsonb1
( id serial primary key,
  service jsonb
  );


CREATE OR REPLACE FUNCTION test_func1() RETURNS integer AS 
$BODY$
DECLARE 
i integer;
BEGIN
FOR i IN 1 .. 1000 LOOP
INSERT INTO test.services_jsonb1 (service)  VALUES (
  '{
	"status": i
	
}');

END LOOP;
RETURN 1;
END
$BODY$ 
LANGUAGE plpgsql VOLATILE
cost 100;


выполняю функцию
select test_func1();


получаю ошибку

ERROR: invalid input syntax for type json
LINE 2: '{
^
DETAIL: Token "i" is invalid.
QUERY: INSERT INTO test.services_jsonb1 (service) VALUES (
'{
"status": i

}')
Иногда помогает
Дата: 19.03.2015 20:08:05
startup
Token "i" is invalid.
Прочти ошибку 33 раза.
Или поставь себя на место конвертора строки в json и предположи, что он не умнее программиста и лишь выполняет, что его просят.
startup
Дата: 19.03.2015 22:32:51
Иногда помогает
startup
Token "i" is invalid.
Прочти ошибку 33 раза.
Или поставь себя на место конвертора строки в json и предположи, что он не умнее программиста и лишь выполняет, что его просят.


В этом был вопрос.
Как сделать, чтобы PosgreSQL воспринял "i", как переменную цикла.
Какой синтаксис? Спасибо.
этта
Дата: 20.03.2015 06:47:13
startup
Иногда помогает
пропущено...
Прочти ошибку 33 раза.
Или поставь себя на место конвертора строки в json и предположи, что он не умнее программиста и лишь выполняет, что его просят.


В этом был вопрос.
Как сделать, чтобы PosgreSQL воспринял "i", как переменную цикла.
Какой синтаксис? Спасибо.
сдаёцца, вы похабешник, ожидаете что внутре строки (литерала) plpgsql будет что-то искать. ан он не похабниками написан, т.ч. вытаскивайте переменную из строки -- никто её там интерпретировать не собирается.