孙笑川吧 关注:7,385,278贴子:218,019,936

回复:【活动】680万关注狂欢,回帖即可领取限定头像框

只看楼主收藏回复

3


IP属地:浙江来自iPhone客户端24065楼2025-09-28 14:03
回复
    3


    IP属地:广西来自Android客户端24066楼2025-09-28 15:18
    回复
      2026-01-02 00:22:45
      广告
      不感兴趣
      开通SVIP免广告
      3


      IP属地:广西来自Android客户端24067楼2025-09-28 15:18
      回复
        3


        IP属地:广西来自Android客户端24068楼2025-09-28 15:18
        回复
          3


          IP属地:山东来自Android客户端24069楼2025-09-28 15:51
          收起回复
            CREATE TABLE T_score (
            s_number CHAR(8) NOT NULL, -- 学号,外键关联T_student的s_number
            c_number CHAR(4) NOT NULL, -- 课程编号,外键关联T_course的c_number
            score NUMERIC(5,1) NULL, -- 成绩,数值类型(如 85.5)
            PRIMARY KEY (s_number, c_number), -- 联合主键(学号+课程编号唯一)
            FOREIGN KEY (s_number) REFERENCES T_student(s_number), -- 关联学生表
            FOREIGN KEY (c_number) REFERENCES T_course(c_number) -- 关联课程表
            );


            IP属地:河南来自iPhone客户端24075楼2025-09-28 20:49
            回复
              -- 创建存储过程
              DELIMITER //
              CREATE PROCEDURE Proc_score()
              BEGIN
              SELECT
              s.s_name AS 学生姓名,
              c.c_name AS 课程名称,
              网页链接 AS 成绩
              FROM T_student s
              JOIN T_score sc ON s.s_number = sc.s_number
              JOIN T_course c ON sc.c_number = c.c_number
              WHERE sc.c_number = '5';
              END //
              DELIMITER ;
              -- 执行存储过程
              CALL Proc_score();


              IP属地:河南来自iPhone客户端24076楼2025-09-28 20:56
              回复
                -- 创建存储过程
                DELIMITER //
                CREATE PROCEDURE ProcAvgScore(
                IN c_num CHAR(4), -- 输入参数:课程编号
                OUT max_score NUMERIC(5,1), -- 输出参数:最高分
                OUT min_score NUMERIC(5,1), -- 输出参数:最低分
                OUT avg_score NUMERIC(5,1) -- 输出参数:平均分
                )
                BEGIN
                SELECT
                MAX(score), MIN(score), AVG(score)
                INTO
                max_score, min_score, avg_score
                FROM T_score
                WHERE c_number = c_num;
                END //
                DELIMITER ;
                -- 执行存储过程(以课程编号“5”为例)
                CALL ProcAvgScore('5', @max, @min, @avg);
                SELECT @max AS 最高分, @min AS 最低分, @avg AS 平均分;


                IP属地:河南来自iPhone客户端24077楼2025-09-28 20:58
                回复
                  2026-01-02 00:16:45
                  广告
                  不感兴趣
                  开通SVIP免广告
                  DELIMITER //
                  CREATE TRIGGER tri_update
                  AFTER UPDATE ON T_score
                  FOR EACH ROW
                  BEGIN
                  -- 在MySQL中,PRINT函数并不直接可用,我们使用SELECT ... AS 来模拟输出
                  SELECT '已修改成绩表的数据' AS 提示信息;
                  END //
                  DELIMITER ;


                  IP属地:河南来自iPhone客户端24078楼2025-09-28 20:59
                  回复
                    3


                    IP属地:陕西来自Android客户端24079楼2025-09-28 22:20
                    回复
                      3


                      IP属地:广西来自Android客户端24080楼2025-09-29 00:24
                      回复
                        3


                        IP属地:广西来自Android客户端24081楼2025-09-29 00:24
                        回复
                          3


                          IP属地:广西来自Android客户端24082楼2025-09-29 00:24
                          回复
                            3


                            IP属地:广西来自Android客户端24083楼2025-09-29 00:24
                            回复
                              2026-01-02 00:10:45
                              广告
                              不感兴趣
                              开通SVIP免广告
                              3


                              IP属地:广西来自Android客户端24084楼2025-09-29 00:24
                              回复