• 分类导出 表数据的 SQL实例


    表 pdzb2  已经建立了。~~~~~~~~~~~~~~

    -----------------------------------华丽的分割线-------------------------------------------

    ----声明需要的变量

    declare
        @sql varchar(2000),
        @TypeID int,
        @gysmz  varchar(100)
      ---确认第一个供应商编码 和 供应商名字
    select  @TypeID=min(供应商编码) from pdzb2
    select  @gysmz=供应商名称 from pdzb2 where 供应商编码 =@typeid
    while exists(select 1 from pdzb2 where 供应商编码=@TypeID)
    begin
    ----拼凑需要执行的语句
    set @sql='bcp "select * from (select'+'''供应商编码'''+'as 供应商编码,'+'''供应商名称'''+' AS 供应商名称,'+'''部门名称'''+'AS  部门名称,'
                                  +'''类别名称'''+'AS  类别名称,'+'''商品编码'''+'AS  商品编码,'+'''商品条码'''+'AS  商品条码,'+'''商品名称'''+'AS 商品名称,'
                                  +'''单位'''+'AS  单位,'+'''商品规格'''+'AS  商品规格,'+'''成本'''+'AS 成本,' +'''当前售价'''+'AS  当前售价,'+'''库存'''+'AS  库存'+' '
    -----在xls文件中显示列名 +内容
    set @sql=@sql+'union all select cast(供应商编码 as varchar(10)),供应商名称,部门名称,类别名称,商品编码,商品条码,商品名称,单位,商品规格,cast(成本 as varchar(10)),cast(当前售价 as varchar(10)),cast(库存 as varchar(10))from pdzb2 where 供应商编码='''+cast(@typeid as varchar(10))+''')a " queryout F:\pddata\'+cast(@TypeID as varchar(10))+@gysmz+'.xls -c -S"haihuangwomei" -U "你的账号" -P "你的密码" '--查询满足条件的记录并保存到xls文件中

    ---print @sql
    EXEC master..xp_cmdshell @sql

    ---WAITFOR delay '00:00:10'
    ---获得下一个供应商编码和 供应商名称
    select @TypeID=isnull(min(供应商编码),@typeid+1) from pdzb2 where 供应商编码>=@TypeID+1
    select @gysmz=供应商名称 from pdzb2 where 供应商编码=@typeid 

    end

    -------------------------------华丽的分割线------------------------------------

    我也是在别人的基础上 改造的  改造中遇到不少问题  ,最严重就是 导出时 部分 成功  部分不成功  组后发现 是@typeid的 数据类型导致的  我原来是 varchar 后来改为 int 解决问题。

    可随意转载,欢迎署名!
  • 相关阅读:
    服务控制器
    .Net Web项目安装包制作 (一)
    C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows
    用Visual C#创建Windows服务程序
    插件的“动态替换”
    .Net Web项目安装包制作(三)补充说明
    .net打包/C#WinFrom程序打包
    C#制作Windows service服务系列三制作可控制界面的Windows服务(windows service)
    C#制作Windows service服务系列二演示一个定期执行的windows服务及调试
    .Net Web项目安装包制作 (二)数据库安装、其他组件的安装
  • 原文地址:https://www.cnblogs.com/netsa/p/2300950.html
Copyright © 2020-2023  润新知