@sqlz ='select asd from flkg'
EXECUTE(@sqlz)
----------
首先,mysql下动态语句不是这样写的,另外,触发器里不能允许返回结果集的.
这里我是希望他能中断更新!
CREATE PROCEDURE 学生成绩统计分析@学号 Char(10)
AS
(insert into 学生学习状况(学号,姓名,平均总评成绩,评价)
select 学生.学号,姓名, convert(decimal(5,2), avg(convert(decimal(5,2), 总评成绩))) as 平均总评成绩,
评价=
case
when convert(decimal(5,2), avg(convert(decimal(5,2), 总评成绩))) >= 90 then ’优秀’
when convert(decimal(5,2), avg(convert(decimal(5,2), 总评成绩))) <60 then ’较差’
else ’一般’
end
)
from 学生 inner join 成绩 on 学生.学号 = 成绩.学号
where 学生.学号 = @学号
group by 学生.学号, 姓名
②若平均总评成绩在90分以上,则查询出该学生总评成绩>=90的课程,并添加到表“优秀课程”表中(其kID列为自动赋值)。
if ((select convert(decimal(5,2), avg(convert(decimal(5,2), 总评成绩))) from 成绩 where 学号=@学号) >= 90)
begin
insert into 优秀课程(学号,课程名称,总评成绩)
select 成绩.学号, 课程名称,总评成绩
from 成绩 join 课程 on 成绩.课程代码=课程.课程代码
where 成绩.学号 = @学号 and 总评成绩>=90
end
③若平均总评成绩在60分以下,则查询出该学生总评成绩<60的课程,并添加到表“不及格课程”表中(其kID列为自动赋值)。if ((select convert(decimal(5,2), avgif if ((select convert(decimal(5,2), avg(convert(decimal(5,2), 总评成绩))) from 成绩 where 学号=@学号) <60)
begin
insert into 不及格课程(学号,课程名称,总评成绩)
select 成绩.学号, 课程名称,总评成绩
from 成绩 join 课程 on 成绩.课程代码=课程.课程代码
where 成绩.学号 = @学号 and 总评成绩<60
end
你可以试一下先输入select 'printSEQ' from 'policyexpress' where policyno='000000600326 ' into '@cnt'再输入if '@cnt' ='' then update policyexpress set printSEQ = '212121212' where policyno = '000000600326'
end if
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)