zoukankan      html  css  js  c++  java
  • 数据库高级数据库学习--上机练习7(Transact-SQL 函数定义和调用)

    上机练习7
    
    在Transact SQL中,有一类特殊的自定义函数,其返回值为一张表,该类自定义函数被称作内嵌(联)表值函数,其基本语句格式如下:
    CREATE FUNCTION函数名称[( {@参数名称 [AS] 标量数据类型}[,...n])]
    RETURNS TABLE 
    [AS]
        RETURN [{SELECT 语句}] 
    
    试采用该类自定义函数完成下列操作:
    1、 创建一个不带输入参数的表值函数返回所有学生信息。 CREATE FUNCTION studentInformation() RETURNS TABLE AS RETURN SELECT * FROM Student
    2、 创建一个自定义函数,实现输入学生姓名,查询对应的学号。如果存在多个学号,则输出全部结果。 CREATE FUNCTION findSno(@Sna AS char(10)) RETURNS TABLE AS RETURN SELECT Sno FROM Student WHERE Sname=@Sna DECLARE @Sname char(10) SET @Sname = '张得民' SELECT * FROM dbo.findSno(@Sname);
    3、 创建一个自定义函数实现输入课程名查询选修了该课程的学号及其成绩。 CREATE FUNCTION findSnoGrade(@Cna AS char(10)) RETURNS TABLE AS RETURN SELECT Sno,CScore FROM Score,Course WHERE Cname=@Cna AND Course.Cno = Score.Cno SELECT * FROM dbo.findSnoGrade('计算机基础');
    4、 创建一个自定义函数返回毕业班中目前无法毕业的学生信息,假设毕业班的学生学号以“14”开头,毕业条件为已修总学分10以上。 CREATE FUNCTION credictIsOK(@Sno AS char(10)) RETURNS real BEGIN DECLARE @sumCredict int SELECT @sumCredict = (SELECT SUM(Ccredit) FROM Score,Course WHERE Course.Cno = Score.Cno AND Score.Sno = @Sno AND Cscore IS NOT NULL) RETURN @sumCredict END CREATE FUNCTION findCannotGradate() RETURNS TABLE AS RETURN SELECT Sno FROM Student WHERE Sno LIKE '14%' AND (dbo.credictIsOK(Sno)<=10 OR dbo.credictIsOK(Sno) IS NULL); SELECT * FROM dbo.findCannotGradate();
  • 相关阅读:
    Kibana查询说明
    windows下安装python 且 安装pip
    pycharm编辑器,各种设置及配置修改
    用python输出未来时间,递增
    window 下python2.7与python3.5两版本共存设置
    python 运算符
    python 运算及注释
    js 实现动态的图片时钟
    js table的笔记,实现添加 td,实现搜索功能
    js实现图片无缝连接
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/10869318.html
Copyright © 2011-2022 走看看