0
我們的數據庫是PostgreSQL 9.3.5。我們需要動態地執行插入語句。爲此,我們已經寫了這樣的代碼:如何動態執行插入語句
v_seq bigint;
v_levelname varchar(100);
v_cols text;
v_cols variable having concatenated data of all column names of particular a table(ex. L150).
L150 table columns details
----------------------------
id bigint;
levelname varchar(100);
healthcareno bigint;
businessno bigint;
bankingno bigint;
v_insertstmt:='insert into L'||levelid||'---tablename(receiving tablename dynamically)
values('||v_seq||','''||v_levelname||''','||v_cols||')';
raise notice '%',v_insertstmt;
數據輸出:
insert into L105
values(1053911,''ProductPlanning'','||healthcareno||','||businessno||','||bankingno||')
但healthcareno,businessno,bankingno這些都是columns.Each列有我們需要的值插入到表中的值。
v_str:=''''||v_insertstmt||'''';--we added quotes
提示通知'%',v_str;
數據輸出:
'insert into L105
values(1053911,''ProductPlanning'','||healthcareno||','||businessno||','||bankingno||')'
execute v_str;
但我們得到語法錯誤。
我很想忽略的代碼片段PLPGSQL問題,其中只有包括頭一個完整的功能將提供必要的環境。並始終提供逐字錯誤消息。 – 2015-03-04 13:59:34