SQL的高手们帮帮小弟吧!!!

来源:百度知道 编辑:UC知道 时间:2024/06/11 05:07:19
老师给我们出了2个考试题,难死了,对各位来说也许只是一个小小习题可对我来说可是考试平分的,请各位SQL的高手们帮帮小弟一把,小弟在此先谢过了!
题目1:
使用SQL编程实现下面的功能:
数据库的EMPLOYEE表中,如果雇员的平均日薪(JOB_LVL)少于150,使用WHILE循环语句对雇员的日薪加5,该循环不断地将日薪 最低的雇员的日薪超过50,然后退出WHILE循环并打印一条消息.
题目2:
如何检测与防御WEB环境下SQL注入攻击!

小弟的邮箱是:linning512@QQ.com
对不起,第一题有点问题改一下.
题目1:
使用SQL编程实现下面的功能:
在PUBS数据库的EMPLOYEE表中,如果雇员的平均日薪(JOB_LVL)少于150,使用WHILE循环语句对雇员的日薪加5,该循环不断地将日薪加5直到日薪最低的雇员的日薪超过50,然后退出WHILE循环并打印一条消息

declare @avg_charge numeric(18,2)--平均日薪
declare @min_charge numeric(18,2)--最小日薪
select @avg_charge=avg(job_lvl) from employee
select @min_charge=min(job_lvl) from employee
while @avg_charge<150
begin
if @min_charge<50
begin
update employee set job_lvl=job_lvl+5
select @avg_charge=avg(job_lvl) from employee
select @min_charge=min(job_lvl) from employee
end
else
begin
print '已不满足你的条件了'
end
end

不过,你的这个题目可能出现死循环的,如果说你所有人的日薪都是大于50而小于150元的话,那就死在那里了,明白不,你想一想,只要平均日薪没有大于150,而又要最小的日薪大于50时停止,那你想怎么停得了,所以这个问题有可能死循环而不退出。

SQL注入攻击,对输入的字符进行处理,如' --, 检查sql的关键字insert,update delete,禁用SQL的一些你用不着的系统存储过程。

第一题关注中。。