前面写过一篇 通过一个实际的例子学习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 存储过程是数据库管理员和开发人员的必备技能,本文将通过三个简单的例子来详细介绍 SQL Server 存储过程的基本知识。 例 1:简单的存储过程 在这个例子中,我们将创建一个简单的存储过程,用于从 ...
以下是针对"SQLSERVER存储过程例子"的详细解释。 1. **存储过程的概念**: 存储过程是一组为了完成特定功能的SQL语句,这些语句被组合在一起并保存在数据库中,用户可以通过调用存储过程的名字来执行这些语句。...
在SQL Server数据库开发中,存储过程是至关重要的一个部分,它是一种预编译的SQL语句集合,可以被多次调用,以提高数据库操作的效率和安全性。本教程旨在深入探讨存储过程在SQL Server中的应用,帮助开发者更好地...
以下是关于SQL Server存储过程和函数的一些常用知识点: 1. **存储过程(Stored Procedures)**: - **定义**:存储过程是一组预编译的SQL语句,可以接受参数,执行特定任务,如数据查询、更新或插入等。 - **...
通过学习和实践这100多个例子,你将能够熟练地编写、调试和优化SQL Server存储过程,解决各种实际问题。无论是简单的数据操作还是复杂的业务逻辑,存储过程都能为你提供高效、安全的解决方案。所以,不要犹豫,立即...
学习和理解"存储过程例子"和"自定义函数方法"中的内容,对于提升SQL Server数据库开发和管理技能至关重要。通过分析和实践这些示例,你可以掌握如何有效地利用存储过程和自定义函数来解决实际问题,提升数据库应用的...
SQL Server存储过程是数据库管理系统中一个非常重要的概念,它是预编译的SQL语句集合,可以执行复杂的数据库操作。...本文档“sqlserver存储过程入门例子加讲解.pdf”将提供具体的实例和详细解释,帮助新手快速上手。
本压缩包“C#连接sql server 2005的存储过程例子大全.rar”提供了一系列示例,帮助开发者理解和应用C#连接SQL Server 2005进行存储过程操作。 首先,存储过程(Stored Procedure)是预编译的SQL语句集合,存储在...
通过学习和理解这个示例,开发者可以更好地掌握SQL Server 2005中的存储过程和游标技术,从而在实际工作中更高效地处理数据。同时,了解游标嵌套的应用场景和限制,有助于优化代码,避免不必要的性能开销。记住,...
以上示例介绍了SQL Server存储过程的基础创建与调用方法,包括无参存储过程、单参数存储过程、多参数存储过程以及带有输出参数的存储过程。通过这些示例,读者可以了解存储过程的基本语法及其实现方式,为进一步学习...
【存储过程】是SQL Server数据库管理系统中的一个重要特性,它类似于编程语言中的函数,可以执行一系列预定义的SQL语句和管理任务。存储过程能够提高系统的效率、安全性,并且支持模块化程序设计,使得代码重用变得...
在提供的文件列表中,"MySQL数据库函数.txt"和"从一个MySQL的例子来学习查询语句.txt"虽然不是SQL Server 2000的内容,但可以作为对比学习,了解不同数据库系统在备份恢复机制上的异同。"数据库查询结果的动态排序....
本资源"SQL server 2005 存储过程100个实例"是一个面向初学者的实践教程,旨在通过具体的例子帮助学习者深入理解和应用存储过程。 存储过程是预编译的SQL语句集合,可以在服务器端执行,减少了网络传输的开销。在...
SQL Server存储过程是一种预编译的SQL代码集合,它存储在数据库中,允许开发者通过一个单一的调用来执行一系列复杂的数据库操作。存储过程是数据库管理的重要组成部分,它们提供了提高性能、增强安全性和简化代码...
在"存储过程和游标创建使用大综合"的压缩包文件中,你可以找到更多关于这两个主题的实际例子和练习,帮助你深入理解和掌握SQL Server中存储过程和游标的使用方法。不断学习和实践这些知识,将有助于提升你在数据库...
通过学习《Java存储过程学习必看.doc》和《sqlserver存储过程入门例子加讲解.pdf》,你将能够深入了解如何在Java中有效地使用SQL Server的存储过程,包括参数传递、事务控制、异常处理等高级主题。这两个文档应该...
下面是一个简单的存储过程创建和调用的例子: ```sql -- 创建存储过程 CREATE PROCEDURE query_book AS BEGIN SELECT * FROM book; END GO -- 调用存储过程 EXEC query_book; ``` #### 四、存储过程的用途 - **...
总的来说,SQL Server 2000的示例数据库为初学者和专业人士提供了一个实践和深化数据库技能的平台,通过这些实例,我们可以深入理解数据库管理系统的核心功能和操作方式,从而在实际工作中更好地应用和管理数据。
本教程将通过一个小例子,详细介绍如何使用MyBatis连接到SQLServer数据库。 首先,我们需要在项目中引入MyBatis和SQLServer的驱动依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <!-- ...
**标题与描述解析** ...通过学习这个例子,开发者将能够创建一个简单的WPF应用程序,从SQL Server数据库中检索数据并显示在界面上。对于初学者来说,这是一个很好的起点,可以帮助他们掌握基础的数据库和UI交互技术。