我有以下代碼,將數據插入到我的表水庫(ID BIGSERIAL, 結果 jsonb不爲空)。我想要插入數據,以便'Display'列總是添加'i',這樣每行的'Display'列都有不同的值。字符串操作拋出錯誤而將插入到的PostgreSQL Jsonb柱
DO $$
declare cnt bigint;
BEGIN
FOR i IN 1..2 LOOP
INSERT INTO res (Results)
VALUES ('{"cid":"CID1","Display":"User One'|| i || '","FName":"Userfff","LName":"One"}');
INSERT INTO res (Results)
VALUES ('{"cid":"CID1","Display":"User One'|| i || '","FName":"Userfff","LName":"One"}');
INSERT INTO res (Results)
VALUES ('{"cid":"CID1","Display":"User One'|| i || '","FName":"Userfff","LName":"One"}');
END LOOP;
END;
$$
LANGUAGE plpgsql;
然而,當我運行此代碼,我得到以下錯誤:
ERROR: column "results" is of type jsonb but expression is of type text
LINE 2: VALUES ('{"cid":"CID1","Display":"User One'|| i ...
^
HINT: You will need to rewrite or cast the expression.
我應該如何修改我的查詢,以便查詢運行成功?
您的循環將插入6行,其中3行具有相同的「Display」值,這真的是您想要的嗎? –