前面写过一篇 通过一个实际的例子学习Oracle存储过程,现在再来一篇 通过一个实际的例子学习SQLServer存储过程。
所谓应用而学。
-
- CREATE PROCEDURE xxxxxxxx_p
- (
-
- @ym char(6)
- )
- As
-
- declare @ym_ln char(6)
- declare @cpcode char(10),
- @cpname char(50),
- @swcode char(10),
- @swname char(50),
- @czgscode char(10),
- @czgscode_ char(10),
- @czgsname char(50),
- @qylx char(2),
- @qyxz char(30)
- declare @tdcode char(10),
- @sb_amt numeric,
- @sb_ln_amt numeric,
- @sh_amt numeric,
- @sh_ln_amt numeric,
- @ts_amt numeric,
- @ts_ln_amt numeric
- declare @ybmy numeric(12,6),
- @jljg numeric(12,6),
- @other numeric(12,6),
- @ybmy_ln numeric(12,6),
- @jljg_ln numeric(12,6),
- @other_ln numeric(12,6)
- declare @rowcount int
-
- delete from cs_xxxxxxxx where ym=@ym
-
- set @ym_ln=cast((substring(@ym,1,4)-1) as char(4)) +substring(@ym,5,2)
-
- declare cur_xxxx cursor for
- select cpcode.code as cpcode ,cpcode.name as cpname ,cpcode.swcode as swcode,swcode.name
- as swname,cs_swcode_czgs.czgs as czgscode,cpcode.qylx as qylx from cpcode
- left join cs_swcode_czgs on cpcode.swcode=cs_swcode_czgs.swcode
- left join swcode on cpcode.swcode=swcode.code where cpcode.swcode<>''
-
- open cur_xxxx
-
- fetch next from cur_xxxx
- into @cpcode,@cpname,@swcode,@swname,@czgscode,@qylx
-
- while @@fetch_status = 0
- begin
-
- select @czgscode_=czgs from cs_cpcode_czgs where cpcode=@cpcode
-
- if @czgscode_ is not null
- set @czgscode=@czgscode_
- select @czgsname=name from cs_czgs where code=@czgscode
-
- if @qylx='11'
- set @qyxz='内资企业'
- else
- set @qyxz='外商投资企业'
-
- select @sb_amt=isnull(sum(mdtse),0) from mdtsb where sb_ym=@ym and cpcode=@cpcode
- select @sb_ln_amt=isnull(sum(mdtse),0) from mdtsb where sb_ym=@ym_ln and cpcode=@cpcode
-
-
-
-
- goto insertmodule
-
-
-
- insertmodule:
-
- if @sb_amt is null set @sb_amt =0
- if @sb_ln_amt is null set @sb_ln_amt =0
- if @sh_amt is null set @sh_amt =0
- if @sh_ln_amt is null set @sh_ln_amt =0
- if @ts_amt is null set @ts_amt =0
- if @ts_ln_amt is null set @ts_ln_amt =0
-
- select @ybmy=zb from cs_scqybl where tdcode='一般贸易' and ym=@ym and cpcode=@cpcode
- select @ybmy_ln=zb from cs_scqybl where tdcode='一般贸易' and ym=@ym_ln and cpcode=@cpcode
- if @ybmy is null
- begin
-
- exec xxxbl @cpcode,@ym
- end
- if @ybmy_ln is null
- begin
- exec xxxxbl @cpcode,@ym_ln
- end
- select @jljg=zb from cs_scqybl where tdcode='进料加工' and ym=@ym and cpcode=@cpcode
- select @jljg_ln=zb from cs_scqybl where tdcode='进料加工' and ym=@ym_ln and cpcode=@cpcode
- select @other=zb from cs_scqybl where tdcode='其他' and ym=@ym and cpcode=@cpcode
- select @other_ln=zb from cs_scqybl where tdcode='其他' and ym=@ym_ln and cpcode=@cpcode
-
- insert into cs_xxxxxxxx (xx,xxx,xxxx) values(vv,vvv,vvvv )
-
- fetch next from cur_xxxx into @cpcode,@cpname,@swcode,@swname,@czgscode,@qylx
-
- end
-
- close cur_xxxx
-
- deallocate cur_xxxx
- GO
分享到:
相关推荐
学习SQL Server存储过程入门例子详解,入门必看的基本知识,需要仔细加以研究哦
简单的学习例子 sqlserver 存储过程、函数的创建和使用 和 常用知识点
SQL Server 2000概述、SQL Server 2000安装和配置、SQL Server 2000工具、数据库系统基础、SQL Server 2000数据类型、SQL ...存储过程、SQL Server 2000数据库的安全性管理、数据库的备份和恢复、基于Web的数据库应用...
利用存储过程进行分页的一个最好的例子,大家可以通过这个来学习有关存储过程分页的内容。也可以对其进行相关的修改。
本书浓缩了作者作为SQL Server数据库架构师多年来丰富的实践经验,适合各类数据库开发和管理人员学习参考 目录 第1章 数据库概念简介 1.1 数据库设计阶段 1.1.1 概念阶段 1.1.2 逻辑阶段 ...
课 程培养目标:通过本课程的学习,掌握 SQL Server 环境下进行编程的知识,具备利用 SQL Server 进行数据库应用程序开发的基本能力;考核要求……(5分钟) 2、SQL Server的定义:是一个高性能的C/S结构的RDBMS,是...
例1:通过存储过程查询数据库中的student表 我们知道在sql中,我们查询一个表,可以通过 select * from student 进行查询,那在存储过程中该怎么写呢? 解: 首先我们打开查询分析器,(以下举的例子中的存储过程...
一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术...
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。...47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可...
当然,这些内容都很重要,但并不是大多数仅想学习SQL的读者所感兴趣的。 因此,在找不到合适的书籍推荐给学生的情况下,我把在课堂上给学生讲授的SQL知识汇编成了本书。本书将讲授读者需要了解的SQL知识,我们从...
接下来研究所有涉及侧重于数据的 ASP.NET 编程的问题,包括一些高级的主题,例如使用存储过程和组件。本书还给出了案例分析,将前面几章讨论的内容都置于同一个环境中加以运用。 0.1 本书主要内容 第 1 章介绍...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
此源码供大家学习交流之用,是asp.net 学习的一个很好的实践大型系统的例子! 本系统是针对大、中专院校在教学及教务管理中的烦琐过程而设计的,方便了学校对师生的教学及教务管理,节约人力和财力!当然里面还有...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
Closure表针对维度表计算distance,Closure表的生产参见例子中的存储过程sp_zycreateorgclosure 例如: 地区" uniqueMembers="true" nameColumn="ORGENTITYNAME" column="ORGENTITYID" parentColumn=...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...