首页 > 其他分享 >5.24每日总结

5.24每日总结

时间:2024-05-24 10:17:56浏览次数:10  
标签:总结 BEGIN END Grade 每日 5.24 SC Cno SELECT

学习了sqlserver

用管理器创建触发器实现如下安全性和完整性
① 定义 course 表中 credit 属性为“3”的缺省
sql
复制代码
ALTER TABLE Course ADD CONSTRAINT DF_Course_Credit DEFAULT 3 FOR Ccredit;
② 建立 course 与 sc 表间来维护参照完整性而使用的一个级联删除触发器、一个级联修改触发器和一个受限插入触发器
级联删除触发器

sql
复制代码
CREATE TRIGGER trg_CascadeDelete ON Course
FOR DELETE
AS
BEGIN
    DELETE FROM SC WHERE Cno IN (SELECT Cno FROM deleted);
END;
级联修改触发器

sql
复制代码
CREATE TRIGGER trg_CascadeUpdate ON Course
FOR UPDATE
AS
BEGIN
    IF UPDATE(Cno)
    BEGIN
        DECLARE @OldCno char(10), @NewCno char(10);
        SELECT @OldCno = Cno FROM deleted;
        SELECT @NewCno = Cno FROM inserted;
        UPDATE SC SET Cno = @NewCno WHERE Cno = @OldCno;
    END
END;
受限插入触发器

sql
复制代码
CREATE TRIGGER trg_RestrictInsert ON SC
FOR INSERT
AS
BEGIN
    IF EXISTS (SELECT * FROM inserted WHERE Cno NOT IN (SELECT Cno FROM Course))
    BEGIN
        RAISERROR('Cannot insert SC record: Course does not exist.', 16, 1);
        ROLLBACK TRANSACTION;
    END
END;
8. 对“students 数据库”编写存储过程
① 统计成绩 60 分以下的人数
sql
复制代码
CREATE PROCEDURE CountLowGrades
AS
BEGIN
    SELECT COUNT(*) AS LowGradeCount FROM SC WHERE Grade < 60;
END;
② 统计给定 cno 的课程的平均成绩,并返回平均成绩
sql
复制代码
CREATE PROCEDURE AvgGradeByCourse (@Cno char(10), @AvgGrade float OUTPUT)
AS
BEGIN
    SELECT @AvgGrade = AVG(Grade) FROM SC WHERE Cno = @Cno;
END;
③ 将 sc 表中 grade 从百分制改为等级制(5、4、3、2、1)
sql
复制代码
CREATE PROCEDURE ConvertGradesToScale
AS
BEGIN
    UPDATE SC
    SET Grade = CASE
        WHEN Grade BETWEEN 81 AND 100 THEN 5
        WHEN Grade BETWEEN 61 AND 80 THEN 4
        WHEN Grade BETWEEN 41 AND 60 THEN 3
        WHEN Grade BETWEEN 21 AND 40 THEN 2
        WHEN Grade BETWEEN 0 AND 20 THEN 1
        ELSE Grade
    END;
END;

标签:总结,BEGIN,END,Grade,每日,5.24,SC,Cno,SELECT
From: https://www.cnblogs.com/drip3775/p/18210076

相关文章

  • 5.23每日总结
    计网学习要传输一个8192字节的数据字段,必须通过IP分片来分割数据,因为以太网的最大传输单元(MTU)为1500字节。这意味着一个IP数据报的总长度(包括IP头部)不能超过1500字节。我们首先假设IP头部长度为20字节(不含选项部分的标准IPv4头部长度)。这意味着每个IP数据报可以携带的数据部分最......
  • 每日一题Reverse Card (Easy Version)
    文章目录题名:题意:题解:代码:题名:ReverseCard(EasyVersion)题意:给定nnn,mm......
  • HTML定位总结大全
    一:固定定位1语法及作用:position:fixed作用:当web页面或移动端页面发生滚动时,应用固定定位的元素,在浏览器的可视区域内不产生移动2特点:使用了固定定位的元素,通过添加margin、translate等属性移动时,根据浏览器的可视窗口移动元素不会随着滚动条的移动而移动脱离文档的......
  • 每日一练——颜色分类(快慢指针排序)
    目录题目代码分析案例模拟重难点分析自检复习 题目75.颜色分类-力扣(LeetCode)代码//交换函数,交换指针a和指针b指向的整数voidswap(int*a,int*b){intt=*a;*a=*b;*b=t;}voidsortColors(int*nums,intnumsSize){//双指针......
  • 数据清洗全流程总结
    #加载数据集data(airquality)#查看数据集str(airquality)head(airquality)查看NAcolSums(is.na(airquality))去除NAairquality_no_na<-na.omit(airquality)再次checkNAcolSums(is.na(airquality_no_na))查看duplicatesduplicated_rows<-duplicated(airqua......
  • GDI+画工作流图的一些总结
    流程图由节点跟连线组成,先画节点,再根据节点做连线。1:连线没有可用的控件,而节点可以直接使用Button类充当,使用Panel做画版,拖动button后会自动出现滚动条,且不需要自己做坐标转换。 1.1:不方便的地方在于如果让节点基础Button,那么属性设置面板里会出现一堆的控件属性,需要再定义个......
  • 每日总结
    PreparedStatement可以防止sql注入问题,效率更高先进行预编译sql,将要设置的字段值使用占位符本质:预编译会将传递进来的参数包裹成字符,而单引号会被转义字符转换为空内容,有效的防止sql注入的问题CRUD--SELECTStringsql="select*fromuserswhereid=?";st=......
  • 【学习整理】编程知识点总结
    编程知识点总结查询接口实现查询接口示例查询排序@SortDefault查询参数配置@ApiIgnore@Param消息发送常量定义......
  • 相似标准型 总结
    ......
  • 3/25数仓面试总结
    数据采集模块 主要采集什么 业务数据和用户行为数据 包括 页面浏览记录,启动记录,错误记录,曝光记录,动作记录格式包括页面日志和启动日志JSON格式?flume怎么采集   第一次见没有sink的flume   业务数据怎么说?sku商品表 平台表流水表 退单表订......