`

一个简单普通的sybase iq 存储过程

阅读更多
[size=large]
CREATE PROCEDURE "DBA"."p_f_fp_fpcx"(@fpdmvar char(20),@fphmvar char(20)) as
declare @ii int   --声明变量
begin
  
  if(@fpdmvar='' or @fphmvar='') 
   begin
    select fpdm,
       fphm,
       khmc,
       khmc,
       convert(char(10),kprq,111),
       je,
       case when tkqk=0 then 'use' else
        case when tkqk=1 then 'used' else '' 
        end 
       end 
       from dw_ods.czfpmx a where 1!=1
    return   --直接返回
   end
 
  select @ii= isnull(count(*),0) from dw_ods.czfpmx a 
        where a.fpdm =@fpdmvar and a.fphm = @fphmvar   --判断这张表有无记录
  if ( length(@fpdmvar)=12 and (substring(@fpdmvar, 1, 5) = '23200' and substring(@fpdmvar, 8, 4) = '0011') )
    begin
     select  fpzl_dm,fp_hm,'shuiwujiguan','khmc',
        convert(char(10),lr_sj,111),je,'bs' from dw_ods.t_fp_mqkpmx a 
           where a.fp_hm =@fphmvar
    end
  else  if(@ii>0)
    begin 
      select fpdm,
       fphm,
       b.mc,
       khmc,
       convert(char(10),kprq,111),
       je,
        case when tkqk=0 then 'use' else
         case when tkqk=1 then 'unuse' else '' 
         end 
       end 
       from dw_ods.czfpmx a ,dw_ods.t_dm_fp_fpzl b
     where substring(a.fpdm,1,5)||substring(a.fpdm,8,4) *= b.fpzl_dm 
         and a.fpdm = @fpdmvar and a.fphm =@fphmvar
    end 
else 
   begin
     select a.fpzl_dm,@fphmvar, b.mc,'khmc',
     convert(char(10),a.lr_sj,111),je,'bs' 
    from dw_ods.T_FP_FPFSJLMX  a,dw_ods.t_dm_fp_fpzl b
     where a.fpzl_dm *= b.fpzl_dm  
     and a.fpzl_dm =(substring(@fpdmvar,1,5)||substring(@fpdmvar,8,4)) 
     and a.fp_qshm<=convert(numeric,(@fphmvar)) --这些地方有些累,没办法类型要匹配的
     and  convert(numeric,@fphmvar)<=a.fp_zzhm
   end
 
 -------作用就是 从三张表中按先后顺序去取相应的记录,然后返回。
end
[/size]
分享到:
评论

相关推荐

    Sybase IQ 16.0中文版本 参考:构建块、表和过程

    ### Sybase IQ 16.0 构件块、表和过程相关知识点 #### 一、文档概述 **Sybase IQ 16.0**是一款高性能的列存储数据库管理系统,适用于大规模的数据仓库和分析处理场景。该文档是针对Sybase IQ 16.0 SP03版本的一份...

    Sybase IQ 16.0中文版本 管理:数据库

    每个 SAP Sybase IQ 数据库都在一个服务器上运行,而根据平台的不同以及所使用的管理工具,提供了多种方法来启动和停止这些服务器。 #### 二、数据库管理工作流 - **调度数据定义任务准则**:Sybase IQ 支持通过...

    Sybase IQ 16.0中文版本 迁移(Windows版)

    当不使用SAP Control Center (SCC)来管理SAP Sybase IQ资源时,迁移流程相对简单,主要包括以下几个步骤: 1. **停止IQ服务器**:首先需要确保当前正在运行的SAP Sybase IQ服务已停止,以避免安装过程中出现冲突。 ...

    Sybase IQ 16.0中文版本 编程

    - **将Sybase IQ与Hadoop分布式文件系统(DFS)集成**:允许Sybase IQ直接访问存储在HDFS中的数据,无需先将数据导入到Sybase IQ中。 - **将HDFS中的文件作为内存中的表读取**:这是一种高效的方式,可以直接在Sybase ...

    sybase iq olap.pdf

    为了更好地理解 Sybase IQ OLAP 在实际应用中的性能表现,这里提供一个简单的案例研究。 假设一家大型零售连锁企业在其总部部署了一套基于 Sybase IQ OLAP 的数据仓库系统,用于存储全国范围内的销售数据。通过对...

    SyBaseIQ按列存储介绍.docx

    Sybase IQ是一个专门针对查询和分析处理的列存储关系型数据库管理系统。它的核心优势在于其列存储模式,这种模式在处理大数据分析、即席查询和数据仓库应用时,相较于传统的行存储方式,提供了显著的性能提升。 列...

    Sybase IQ 15.1 系统管理手册(下)

    除了存储过程外,Sybase IQ 15.1 还支持批处理功能,允许用户将一系列 SQL 语句打包在一个批处理文件中进行批量执行,从而提高数据处理效率。 **批处理的优点:** - **简化复杂任务**:通过将多条 SQL 语句组合在...

    Sybase IQ 15.4参考手册(性能调优)

    性能调优是Sybase IQ 15.4中的一个重要环节,涉及内存管理、CPU资源分配、I/O平衡和网络性能优化等多个方面。 首先,内存的优化使用是性能调优的重点。Sybase IQ 15.4提供了分页技术来增加可用内存,并通过监控交换...

    Sybase IQ 16.0中文版本 迁移(Unix与Linux版)

    - **背景介绍**:Sybase IQ是由SAP公司推出的一款面向数据分析和处理的高性能列式数据库管理系统。Sybase IQ 16.0支持包(SP)的安装对于保持系统的稳定性和提升性能至关重要。根据文档,支持包的安装流程会根据是否...

    Mysql、oracle、Sybase数据库两列合并成一列的sql语句

    但是,需要注意的是,如果使用加号`+`进行字符串连接,则可能会导致意外的结果,特别是当其中一个字段包含数值时。因此,推荐使用`CONCAT()`函数。 **示例SQL语句:** ```sql SELECT CONCAT(field1, field2) AS ...

    IQ 15.1中文介绍资料集

    Sybase IQ是一个高性能、列式存储的关系型数据库管理系统,专为大数据分析而优化。它的设计理念在于提供快速查询性能和高效的数据压缩,从而在处理大量结构化数据时实现卓越的性能。 2. **DSS(决策支持系统)和BI...

    Sybase驱动(Java)

    Sybase IQ是一个专为数据分析设计的数据库系统,它具有优秀的压缩技术和并行处理能力,适用于数据仓库和在线分析处理(OLAP)。jconn4驱动对Sybase IQ的支持意味着开发者可以利用Java编写高效的数据分析应用程序,...

    Sybase交行客户信息分析系统解决方案

    交通银行在信息化战略升级中选择了Sybase IQ作为其客户信息分析系统的核心数据库,这是因为Sybase IQ在数据压缩、高性能查询和存储过程灵活性方面的出色表现。银行通过ETL工具DataStage从业务系统抽取数据至ODS...

    Sybase数据库

    每个数据库对象(如表、索引)都会占用一个或多个段。 2.3 系统数据库 系统数据库包括master、model、msdb和tempdb等,它们存储系统级别的信息,如用户数据库信息、系统配置、计划任务等。 2.4 用户数据库 用户...

Global site tag (gtag.js) - Google Analytics