标题:求助SQL存储过程问题-->purana转移
取消只看楼主
hyj003
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-10
 问题点数:0 回复次数:0 
求助SQL存储过程问题-->purana转移

考勤汇总表kqyhz
主要字段
att_year 年 int
att_month 月 char
att_code 卡号 int
att_cdsj 迟到分钟 float
att_ztsj 早退分钟 float
att_ybzs 夜班次数 float
根据年,月,卡号三个条件可唯一确定一个人看他有没有迟到,早退及夜班次数这三个字段是否有值,如有则调用存储过程算出相应的工资。

薪资明细表gzzl
主要字段
nf 年 int
yf 月 int
per_code 卡号 char
gza09 夜宵补助 float
gzb06 迟到早退扣除 float


帮我写两个存储过程
1:夜班次数*5返回给gza09 条件:年,月,卡号唯一确定一条记录
2:(迟到分钟+早退分钟)*1反回给gzb06 条件:年,月,卡号唯

附上标准格式一个,

通过存储过程计算.一般比较复杂的计算项目可通过此方法解决.

选取此项时,存储过程名称即为项目代号名.如工龄工资的计算方法选为'通过存储过程计算'此项时存储过程名称即为GZA10.建立存储过程需要知道sql server 2000知识的人员,并且需要了解人事考勤薪资系统软件kqwinsV11.0的人事资料表和考勤汇总资料表的字段对应说明.请参阅字段对应表.

下面举例说明建立存储过程GZA10.sql的方法:

1 按'开始'->程序->'Microsoft SQL Server'-->
'Query Analyzer'-->按OK-->选择右上角DB:右边下拉框中的kqdata.

2 在屏幕中输入以下语句:

if exists (select * from sysobjects where id = object_id(N'[dbo].[GZA10]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[GZA10]
GO

SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON
GO

CREATE PROCEDURE gza10 (@nf int, @yf int,@per_code varchar(10), @returnval float output) with encryption AS
/*
参数说明
@nf 年份
@yf 月份
@per_code 员工的卡号
@returnval 要返回金额的变量

每个存贮过程的参数都是这样设置

*/
begin

declare @per_jcdate datetime --定义入职日期变量

select @returnval=0

if exists(select * from personal where per_code=@per_code) --此员工在职
begin
select @per_jcdate=per_jcdate from personal where per_code=@per_code
end else begin
if exists(select * from lzk where per_code=@per_code) --此员工离职
select @per_jcdate=per_jcdate from lzk where per_code=@per_code
end

if @per_jcdate is not null
begin
if @per_jcdate<'10/01/2004' select @returnval=10 --入职日期小于2004年10月1号的金额=10元
if @per_jcdate>='10/01/2004' select @returnval=20 --入职日期大于等于2004年10月1号的金额=20元
end

end

GO
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON
GO
很急,拜托了!!!

搜索更多相关主题的帖子: SQL purana 
2006-11-10 13:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-101997-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099296 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved