我不知道这是否可行,但我正在寻找使用执行块执行Insert语句并使用列名参数插入数据的任何示例
伪代码:
While loop_counter begin
Insert into table1 (f1+loop_counter, f2+loop_counter, f3+loop_counter, f4+loop_counter)
values (#,#,#,#)
end
其中“f”是字段名称的第一个首字母,“loop_counter”是循环变量
由于
答案 0 :(得分:1)
您需要在EXECUTE STATEMENT运算符中。尝试这样的事情:
EXECUTE BLOCK
AS
DECLARE VARIABLE s VARCHAR(200);
...
BEGIN
...
WHILE (<some condition with loop_counter>) DO
BEGIN
s = 'INSERT INTO TABLE1 (F1' ||
loop_counter || ', F2' ||
loop_counter || ',F3' ||
loop_counter || ',F4' ||
loop_counter || ') VALUES (?, ?, ?, ?)';
EXECUTE STATEMENT (:S) (#,#,#,#);
...
END
...
END