您现在的位置是:首页
>
sql2000怎么执行语句 带参数动态执行sql语句:Execute Immediate
带参数动态执行 ql语句:Execute Immediate 根据客户需要 我们增加了一个统计表 用来汇总统计数据 统计数据的产生 需要根据一个基本表 动态执行 ql语句 在存储过程中 动态生成

带参数动态执行sql语句:Execute Immediate
根据客户需要 我们增加了一个统计表 用来汇总统计数据 统计数据的产生 需要根据一个基本表 动态执行sql语句 在存储过程中 动态生成sql语句然后执行 需要用到Execute Immediate命令 我想写一个通用的统计用存储过程 似乎不大好办 if语句的应用在所难免了 呵呵 特此存档 create or replace procedure P_INSERT_XT_TJ_MX(sDate in varchar ) is author:李春雷 create time: purpose:更新xt_tj_mx表 sXh xt_tj xh%type; 主表序号 sDwmc xt_tj dwmc%type; sDw xt_tj dw%type; sDwzd xt_tj dwzd%type; sTable xt_tj hzbmc%type; sSjzd xt_tj sjzd%type; sSqlStr varchar ( ); iCount int; cursor curSort is select xh dwmc hzbmc sjzd dwzd dw from xt_tj ; begin open curSort; loop fetch curSort into sXh sDwmc sTable sSjzd sDwzd sDw; exit when curSort%notfound; sSqlStr := select count(*) from || sTable || where to_char( ||sSjzd|| || YYYYMM )=:sDate and ||sDwzd || in (select dwxh from xt_dw connect by prior dwxh = dwfxh start with dwxh =:sDw) ; Execute Immediate sSqlStr into iCount using sDate sDw; delete from xt_tj_mx where fxh=sXh and sjz=sDate; insert into xt_tj_mx(xh fxh hzsm sjz)values(SEQ_XT_TJ_MX NEXTVAL sXh iCount sDate); mit; end loop; end P_INSERT_XT_TJ_MX; lishixinzhi/Article/program/Oracle/201311/17475 很赞哦! (1054)