IT分销/经销

db2 动态绑定变量如何写? 表名是动态的

db2 动态绑定变量如何写loop   fetch cursor to v_tableName;  set str = 'select count(*) into v_count from '|| v_tableName;  exec ?  prep?end loop大致是这样,要游标查询出来的表名,计算每张表的总数,放到V_count变量里面。...显示全部
db2 动态绑定变量如何写

loop
  fetch cursor to v_tableName;
  set str = 'select count(*) into v_count from '|| v_tableName;
  exec ?
  prep?
end loop

大致是这样,要游标查询出来的表名,计算每张表的总数,放到V_count变量里面。
请问应该怎么写?
请赐教谢谢!收起
参与6

查看其它 2 个回答liaogzhu的回答

liaogzhuliaogzhu数据库开发工程师PCI

可以使用动态游标解决

  DECLARE v_count INT DEFAULT 0;

  DECLARE v_sql   VARCHAR(2000);

  DECLARE stmt1 STATEMENT;

  DECLARE c1 CURSOR FOR stmt1;

  

  SET v_sql = 'SELECT COUNT(*) FROM '||pi_table||' WHERE  sourcedate = ? AND timeofday = ?  AND entitykey = ?' ;

  PREPARE stmt1 FROM v_sql;

  OPEN c1 USING pi_sourcedate,pi_timeofday,pi_entitykey;

  FETCH c1 INTO v_count;

  CLOSE c1;

软件开发 · 2016-06-22
浏览1164

回答者

liaogzhu
数据库开发工程师PCI

liaogzhu 最近回答过的问题

回答状态

  • 发布时间:2016-06-22
  • 关注会员:2 人
  • 回答浏览:1164
  • X社区推广