触发器无法实现计算功能
时间:2011-12-20
来源:互联网
as
declare @著作得分 float
declare @参加人数 int
declare @分工 char(50)
declare @书籍编号 char(10)
set @书籍编号=(select 书籍编号 from inserted )
set @著作得分=(select 著作得分 from 著作 where 著作.书籍编号=@书籍编号)
set @参加人数=(select 参加人数 from 著作 where 著作.书籍编号=@书籍编号)
set @分工=( select 分工 from inserted)
if @参加人数=1
begin
update 创作
set 著作个人得分=@著作得分 where 书籍编号=@书籍编号
end
Else if @参加人数=2 and @分工='A'
begin
update 创作
set 著作个人得分= @著作得分*0.7 where 书籍编号=@书籍编号
End
Else if @参加人数=2 and @分工='B'
begin
update 创作
set 著作个人得分= @著作得分*0.3 where 书籍编号=@书籍编号
End
Else if @参加人数=3 and @分工='A'
begin
update 创作
set 著作个人得分= @著作得分*0.6 where 书籍编号=@书籍编号
end
Else if @参加人数=3 and @分工='B'
begin
update 创作
set 著作个人得分= @著作得分*0.2 where 书籍编号=@书籍编号
end
Else if @参加人数=3 and @分工='C'
begin
update 创作
set 著作个人得分= @著作得分*0.2 where 书籍编号=@书籍编号
end
Else if @参加人数=4 and @分工='A'
begin
update 创作
set 著作个人得分= @著作得分*0.4 where 书籍编号=@书籍编号
end
Else if @参加人数=4 and @分工='B'
begin
update 创作
set 著作个人得分= @著作得分*0.2 where 书籍编号=@书籍编号
end
Else if @参加人数=4 and @分工='C'
begin
update 创作
set 著作个人得分= @著作得分*0.2 where 书籍编号=@书籍编号
end
Else if @参加人数=4 and @分工='D'
begin
update 创作
set 著作个人得分= @著作得分*0.2 where 书籍编号=@书籍编号
end
插入数据后 著作个人得分列没有内容
作者: shuizhongluohua 发布时间: 2011-12-20
values ('X00003','zhu20110001','刘','辩论技巧','A')
作者: shuizhongluohua 发布时间: 2011-12-20
作者: fredrickhu 发布时间: 2011-12-20
作者: ssp2009 发布时间: 2011-12-20
作者: cr75608859 发布时间: 2011-12-20
作者: shuizhongluohua 发布时间: 2011-12-20
declare @书籍编号 char(10)
這一句有問題吧, char(10)不夠吧~
作者: sjcss 发布时间: 2011-12-20
作者: shuizhongluohua 发布时间: 2011-12-20
作者: zhaowenzhong 发布时间: 2011-12-20
作者: zhaowenzhong 发布时间: 2011-12-20
作者: yanyuchonglou 发布时间: 2011-12-20
改成50 也不行 还是没有结果
改成varchar(50)
@分工 char(50) 也改成varchar(50)
试一下
作者: sjcss 发布时间: 2011-12-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28