数据库高级编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL高级编程
如果返回值为1,则向表COURSE插入一条数据declare @reture_value int
set @reture_value=1
if @reture_value=1
begin
insert into course values('8','会计','6')
select*from course
end
如果返回值为1,则向表COURSE更新一条数据if @reture_value=1
begin
update course
set ccredit=4
where cno=7
select*from course
end
if ……else
declare @reture_value int
set @reture_value=1
if @reture_value=1
begin
update course
set ccredit=4
where cno=7
select*from course
end
else
begin
update course
set ccredit=5
where cno=7
select*from course
end
if…..else if……else
declare @reture_value int
set @reture_value=2
if @reture_value=1
begin
update course
set ccredit=4
where cno=7
select*from course
end
else
if @reture_value=0
begin
update course
set ccredit=5
where cno=7
select*from course
end
else
begin
update course
set ccredit=9
where cno=7
select*from course
end
while :先判断条件,再执行语句
用while循环语句来求1+2+3…..10的和declare @a int,@i int
set @a=0
set @i=1
while @i<=10
begin
set @a=@a+@i
set @i=@i+1
end
select @a
Case :多分支语句,可以通过N个条件来控制N+1个操作为选课表增加一列
alter table sc
add jiebie char(20)
设置根据成绩新增加列值
update sc
set jiebie=case
when grade>=90 and grade<=100 then'优秀'
when grade>=80 and grade<90 then'良好'
when grade>=70 and grade<80 then'中等'
when grade>=60 and grade<70 then'一般'
when grade<60 then'不及格'
end
return 无条件退出程序,不会执行它下面的任何语句。update student
set sname='李成'
where sno='200215121'
return
select*from student
请定义一个变量@aaa, 当@aaa的值为1是,向学生表出入一条学生信息。
请定义一个变量@bbb, 当@bbb的值为1时,把学号为200215122的学生性别改为“男”
请定义一个变量@CCC,如果@CCC的值为1时,就把课程号为1 的课程名改为“哲学”,否则如果@CCC的值为0,就把学号为2的课程名改为“英语”,如果为其它值,则把课程号为3的课程名改为“物理”。
请为数据表course增加一列“备注”,如果ccredit的值为1到2学分,则备注的值设置为“学分偏低”,如果ccredit 的值大于2,而小于等于4,则备注的值设置为“学分适中”,如果ccredit的值大于4,则备注的值设置为“学分过高”,
函数:
create function gaiming(@xuehao char(11))
returns char(20)
as
begin
declare @xingming char(20)
select @xingming=sname from student where sno=@xuehao return @xingming
end
执行函数
Select gaiming(‘200215121’)