切换到宽版
  • 3508阅读
  • 0回复

智能脊背打印存储过程实现 [复制链接]

上一主题 下一主题
离线猫仙
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2015-09-10




--ORACLE存储过程实现
CREATE OR REPLACE PROCEDURE printjbwenshu (dids in varchar2,
cur out sys_refcursor )
AS
    p_sql varchar2(2000);
    F1 VARCHAR2(50);--文件_盒号
    JH NUMBER; --文件_件号
    YS NUMBER;   --文件_页数
    ND VARCHAR2(40);  --文件_年度
    BGQX VARCHAR2(12); --文件_保管期限
    QZH VARCHAR2(32);   --文件_全宗号
    type rc_type is ref cursor;
    mycur rc_type;
    BEGIN
    p_sql:='delete from  volprint';
    Execute Immediate p_sql;
    p_sql:='insert into volprint(F1,JH,YS,ND,BGQX,QZH) select F1,min(JH),max(JH),ND,BGQX,QZH from D_FILE1 where did in ('||dids||') group by F1,BGQX,ND,QZH';
    Execute Immediate p_sql;
    open cur for 'select F1 as '||'"文件_盒号"' ||',JH as '  ||'"文件_件号"'||', YS as '||'"文件_页数"' ||',ND as '||'"文件_年度"'|| '
     ,BGQX as '  ||'"文件_保管期限"'||',QZH as '  ||'"文件_全宗号"'||'from volprint';
    end;

--SQL存储过程实现
alter procedure printjbwenshu(@dids varchar(2000)) as
        declare @SQL nvarchar(2000);
create table #Tmpprint (
        文件_盒号 varchar(300),
文件_件号 varchar(300),
文件_页数 varchar(50),
        文件_年度 varchar(50),
        文件_保管期限 varchar(50),
        文件_全宗号 varchar(50),
        文件_公文类型 varchar(50)        
);
        set @SQL='insert into #Tmpprint(文件_盒号,文件_件号,文件_页数,文件_年度,文件_保管期限,文件_全宗号,文件_公文类型)
        select f4,min(jh),max(jh),nd,bgqx,qzh,f3  from D_FILE30 where did in (' + @dids + ') group by bgqx,nd,f4 ,qzh,f3 ';  
exec sp_executesql  @SQL
        select * from #Tmpprint
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个