zoukankan      html  css  js  c++  java
  • 第十一章

    declare @todayDate char(10),@dispStr varchar(20)
    set @todayDate=getdate()
    set @dispStr='今天的日期为'
    
    select @dispStr+@todayDate
    
    
    
    declare @学号 varchar(10),@姓名 varchar(50),@班级 varchar(50)
    declare @所在系 varchar(80),@msgstr varchar(50)
    --变量赋值
    select @学号=Student.Student_No,@姓名=Student_Name,@班级=Class_Name,@所在系=Department_Name
    from Student,Class,Department
        where Student.Student_ClassNo=Class.Class_No
        and Class.Class_DepartmentNo=Department.Department_No
    set @msgstr='学号:'+@学号+ '    姓名:'+@姓名+'    班级:'+@班级+'    所在系:'+@所在系
    select @msgstr
    go
    
    select Student.Student_No,Student_Name,Class_Name,Department_Name
    from Student,Class,Department
        where Student.Student_ClassNo=Class.Class_No
        and Class.Class_DepartmentNo=Department.Department_No
    
    
    declare @dispstr varchar(20)
    set @dispstr='这是一个局部变量引用出错的演示'
    go
    --批处理在这里结束,局部变量被清除
    select @dispstr
    go
    
    print 'SQLserver的版本信息'
    print @@version
    print ''
    print '服务器名称为:    '+@@servername
    print '所用的语言为:    '+@@language
    print '所用的服务为:    '+@@servicename
    go
    
    
    begin 
        select * from Student
        select * from Course
    end
    go
    
    begin 
        declare @num int
        set @num=3
        if exists(select COUNT(selectcourse_courseno)
                from SelectCourse
                group by SelectCourse_StudentNo having COUNT(selectcourse_courseno)>=@num)
                    begin
                        select '选课' + cast(@num as char(2))+'门以上的学生名单'
                        select 姓名=Student_Name,COUNT(SelectCourse_CourseNo) 选课门数
                        from SelectCourse,Student
                        where Student.Student_No=SelectCourse.SelectCourse_StudentNo
                        group by Student_Name having COUNT(SelectCourse_CourseNo)>=@num
                        order by COUNT(SelectCourse_CourseNo)desc
                    end
        else
            print '没有选课'+cast(@num as char(2))+'门以上的学生'
    end
    go
    
    declare @score numeric(4,1),@step varchar(6)
    begin
    select @score=SelectCourse_Score from Student,SelectCourse
        where Student.Student_No=SelectCourse.SelectCourse_StudentNo and Student_Name='王大锤'
        if @score>=90 and @score<=100 set @step=''
        else
            if @score>=80 set @step=''
            else
                if @step>=70 set @step=''
                else
                    if @score>=60 set @step='及格'
                    else set @step='不及格'
        print @step
    end 
    go
    
    
    select 学号=Student_No,姓名=Student_Name,性别=case Student_Sex
                                                    when '' then 'Man'
                                                    when '' then 'Woman'
                                                    end
    from Student
    
    
    
    begin
        declare @C_name char(20),@C_no char(5)
        set @C_no='20191'
        if exists(select count(*)from SelectCourse where SelectCourse_CourseNo=@C_no)
            begin
            set @C_name=(select distinct Course_Name from SelectCourse,Course
                                where SelectCourse.SelectCourse_CourseNo=Course.Course_No
                                and SelectCourse.SelectCourse_CourseNo=@C_no)
            select'选修课程:'+@C_name+'的学生成绩单'
            select 学号=Student.Student_No,姓名=Student_Name,成绩=Case
                        when SelectCourse_Score is null then '未考'
                        when SelectCourse_Score >=90 and SelectCourse_Score<=100 then '优秀'
                        when SelectCourse_Score>=80 then '良好'
                        when SelectCourse_Score>=70 then ''
                        when SelectCourse_Score>=60 then '及格'
                        when SelectCourse_Score <60 then ' 不及格'
                        end
            from student,selectcourse
            where Student.Student_No=SelectCourse.SelectCourse_StudentNo
            and SelectCourse_CourseNo=@C_no
            end
            else
                print '没有重修'+@c_name+'课程的学生'
    end
    go
    
    declare @Result INT,@i int
    select @Result=1,@i=5
    while @i>0
        begin
            set @Result=@Result*@i
            set @i=@i-1
            if @i>1
                continue
            else 
                begin
                    print '5的阶乘为:'
                    print @Result
                    break
                end
        end
    go
    
    
    declare @num int
    set @num=0
    while(select Class_Amount from Class where Class_No='201801')<90
    begin
        update Class set Class_Amount = Class_Amount+10 where Class_No='201801'
        set @num=@num+1
    end
    select @num as 循环次数
    go
    
    declare @sum int,@count int
    select @sum=0,@count=1
    label_1:
    select @sum=@sum+@count
    select @count=@count+1
    if @count<=5
    goto label_1
    select @sum as 总和
    go
    
    if exists(select*from Class where Class_No='201801')
        return
    else
        insert into Class values('200803','01','02','软件工程181',90)
    go
    select * from Class
    go
    
     
  • 相关阅读:
    其他综合收益的会计处理
    公允价值变动损益与投资收益的区别是什么?
    公允价值变动损益属于什么科目
    交易性金融资产和其他权益工具投资的区别
    属于在某一时段内履行的履约义务的情形
    合同履约成本和合同取得成本
    linux find查找并拷贝 exec xargs区别[转载]
    centos 安装discuz
    批处理变量,扩展,及变量截取
    常用DDL
  • 原文地址:https://www.cnblogs.com/King-boy/p/10963675.html
Copyright © 2011-2022 走看看