学生信息数据库有3个表,如下所示(表的第一行表示:字段名和字段的数据类型)。 student 学号(char (8)) 20180101 20180102 20180203 20180207 姓名(varchar (20)) 李宇凯 张玥玥 宋小丽 李亚菲 性别(char (2)) 男 女 女 女 出生日期(date) 2000-6-1 1999-11-6 2000-1-9 2000-6-23 院系(varchar (20)) 信息系 计算机系 电子系 电子系 course 课程号(char (4)) 1001 1002 1003 课程名称(varchar (30)) 数据库技术与应用 Java 程序设计 专业英语 学分(int) 4 2 2 SC 学号(char (8)) 20180101 20180102 20180102 20180203 20180203 20180207 课程号(char (4)) 1001 1001 1002 1001 1003 1003 成绩(real) 90 85 76 87 S6 90 (3)以下 T - SQL 语句创建存储过程stproc3。其中,参数@ cid 用于输入课程号,@ max _ se 用于输出最高分,@ avg _ se 用于输出平均分。 CREATE PROC stproc3@ cid char (4),@ max _ se real OUTPUT ,@ avg _ se real OUTPUT AS BEGIN SELECT @ max _ se = MAX (成绩),@ avg _ se = AVG (成绩) FROM sc WHERE 课程号=@ cid END 已声明以下变量@ m 和@ a ,分别用于接收存储过程stproc3返回的最高分和平均分。写出执行stproc3的 T - SQL 命令,要求输入课程号1001,查询该门课程的最高分和平均分,并在结果窗格中显示,标题为"最高分"、"平均分"。 DECLARE @ m real ,@ a real
时间: 2024-01-16 19:02:45 浏览: 32
以下是执行stproc3的T-SQL命令,要求输入课程号1001,查询该门课程的最高分和平均分,并在结果窗格中显示,标题为"最高分"、"平均分"。
```sql
DECLARE @m real, @a real
EXEC stproc3 '1001', @max_se=@m OUTPUT, @avg_se=@a OUTPUT
SELECT '最高分' AS 标题, @m AS 结果 UNION ALL SELECT '平均分', @a
```
这个命令首先声明了变量`@m`和`@a`,用于接收存储过程stproc3返回的最高分和平均分。然后使用`EXEC`命令执行存储过程,并将结果输出到变量`@m`和`@a`中。最后,使用`SELECT`命令将结果集的标题设置为"最高分"、"平均分",并将变量`@m`和`@a`的值作为结果输出。在`UNION ALL`子句中使用两个`SELECT`命令将结果合并到一个结果集中。
相关问题
数据库名homework 表名student(学生信息表) 字段2个: no 学号 字符串 10位 主键 name 姓名 字符串 8位 非空
好的,你需要创建一个名为homework的数据库,然后在其中创建一个名为student的表。该表有两个字段:no和name。其中,no是一个10位的字符串类型的主键,而name是一个8位的非空字符串类型的字段。以下是创建该表的SQL语句:
CREATE DATABASE homework;
USE homework;
CREATE TABLE student (
no VARCHAR(10) PRIMARY KEY,
name VARCHAR(8) NOT NULL
);
学生信息数据库有3个表,如下所示(表的第一行表示:字段名和字段的数据类型)。 student 学号(char (8)) 20180101 20180102 20180203 20180207 姓名(varchar (20)) 李宇凯 张玥玥 宋小丽 李亚菲 性别(char (2)) 男 女 女 女 出生日期(date) 2000-6-1 1999-11-6 2000-1-9 2000-6-23 院系(varchar (20)) 信息系 计算机系 电子系 电子系 course 课程号(char (4)) 1001 1002 1003 课程名称(varchar (30)) 数据库技术与应用 Java 程序设计 专业英语 学分(int) 4 2 2 SC 学号(char (8)) 20180101 20180102 20180102 20180203 20180203 20180207 课程号(char (4)) 1001 1001 1002 1001 1003 1003 成绩(real) 90 85 76 87 S6 90 (1) 写出创建存储过程stproc1的 T - SQL 命令,使之可以查询所有学生的学号、姓名和年龄。要求查询结果集的标题为学号、姓名、年龄。
以下是创建存储过程stproc1的T-SQL命令:
```sql
CREATE PROCEDURE stproc1
AS
BEGIN
SELECT student.学号, student.姓名, DATEDIFF(year, student.出生日期, GETDATE()) AS 年龄
FROM student
END
```
这个存储过程通过使用`DATEDIFF`函数来计算每个学生的年龄,并将结果集的标题设置为学号、姓名、年龄。在查询中使用`GETDATE`函数获取当前日期,从而计算年龄。