实验五 SJK触发器

实验五 SJK触发器

2023.4.19

实验地点

软件工程基础实验室

实验课时

2

​通过实验加深对数据完整性的理解,学会理解、创建和使用触发器。

​使用SQL语句熟悉触发器的创建和查看方法,熟悉触发器的修改和删除方法。

 (1) 仍然使用自定义完整性实验中的Teacher表。为此表建立触发器T1,当插入或使更新表中的数据时,保证所操作的纪录的Tage值大于0。

在新建查询窗口中输入如下SQL语句

USE University Mis

GO

CREATE TRIGGER T1 ON Teacher

FOR INSERT,UPDATE

AS

IF(SELECT Tage FROM INSERTED)<1

BEGIN

PRINT ‘职工年龄必须是大于0的整数! 操作失败!’

ROLLBACK TRANSACTION

END

(2) 为Teacher表建立触发器T2,禁止删除编号为S01的CEO。

在新建查询窗口中输入如下SQL语句

USE University_Mis

GO

CREATE TRIGGER T2 ON Teacher

FOR DELETE

AS

IF(SELECT Tno FROM DELETED)=’T01’

BEGIN

PRINT ‘此人是CEO! 删除操作失败!’

ROLLBACK TRANSACTION

END

(3) Teacher表中的人员的编号是唯一且不可更变的,创建触发器T3实现更新中编号的不可改变性。在新建查询窗口中输入如下SQL语句

USE University_Mis

GO

CREATE TRIGGER T3 ON Teacher

FOR UPDATE

AS

IF UPDATE(Tno)

BEGIN

PRINT ‘职工编号不能修改!’

ROLLBACK TRANSACTION

END

(4) 在新建查询窗口中输入如下SQL语句

USE University_Mis

INSERT INTO Teacher VALUES(‘T03’,’ 李宏’,’F’,-10,’开发部’)

(5) 在新建查询窗口中输入如下SQL语句

USE University_Mis

UPDATE Teacher SET Tage=-7 WHERE Tno=’T01’

(6) 在新建查询窗口中输入如下SQL语句

USE University_Mis

DELETE FROM Teacher WHERE Tname=’李用’

(7) 在新建查询窗口中输入如下SQL语句

USE University_Mis

UPDATE Teacher SET Tno=’T07’ WHERE Tsex=’F’

经检验,实验基本达到预期效果。有点感悟需要牢记,触发器会在当系统检测数据中有违反完整性约束条件时给出用户必要的提示信息,还会引起系统内部自动进行某些操作,已消除违反完整性约束条件所引起的负面影响,具有安全保护的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义Application,获取全局的Context

在Android中&#xff0c;如果你想要获取全局的Context&#xff0c;并且希望在整个应用程序的生命周期内都可以访问它&#xff0c;你可以通过创建一个自定义的Application类来实现。这个类会继承自android.app.Application&#xff0c;并且你可以在其中存储一些全局数据或者实现…

数据结构:实验六:图的操作

一、 实验目的 &#xff08;1&#xff09;掌握图的邻接矩阵和邻接表存储结构。 &#xff08;2&#xff09;熟练图的邻接表的基本运算。 &#xff08;3&#xff09;加深图的深度优先遍历算法和广度优先遍历算法的理解 二、 实验要求 有下图所示的带权有向图及其对应的邻…

【工程记录】Python爬虫入门记录(Requests BeautifulSoup)

目录 写在前面1. 环境配置2. 获取网页数据3. 解析网页数据4. 提取所需数据4.1 简单提取4.2 多级索引提取 5. 常见问题 写在前面 仅作个人学习与记录用。主要整理使用Requests和BeautifulSoup库的简单爬虫方法。在进行数据爬取时&#xff0c;请确保遵守相关法律法规和网站的服务…

Ubuntu安装Neo4j

Ubuntu&#xff08;在线版&#xff09; 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

在Spring中注入动态代理Bean

在Springboot中我们可以通过内置的注解如Service&#xff0c;Component&#xff0c;Repository来注册bean&#xff0c;也可以在配置类中通过Bean来注册bean。这些都是Spring内置的注解。 除此之外&#xff0c;还可以用WebFilter&#xff0c;WebServlet&#xff0c;WebListener…

二分图--判定以及最大匹配

水了个圈钱杯省一&#xff0c;不过估计国赛也拿不了奖&#xff0c;但还是小小挣扎一下。 什么是二分图&#xff1a;G(V,E)是一个无向图&#xff0c;若顶点V可以分为两个互不相交的子集A,B&#xff0c;并图中的每一条边&#xff08;i,j)所关联的ij属于不同的顶点集&#xff0c;…

QT登录界面,(页面的切换)

以登陆界面为例&#xff0c;&#xff08;QDialog&#xff09; 1.主界面先构造login 的对话框类 int main(int argc, char *argv[]) {QApplication a(argc, argv);//先显示Login的界面Study_Login_Dialog login;............ }2.Login的类&#xff0c;可以用自定义的信号&#…

Java image-processing 包依赖错误

错误的信息为&#xff1a; [ERROR] Failed to execute goal on project image-processing: Could not resolve dependencies for project com.ossez:image-processing:jar:0.0.2-SNAPSHOT: Failed to collect dependencies at org.openimaj:core-image:jar:1.3.10 -> org.op…

spring-boot示例

spring-boot版本&#xff1a;2.0.3.RELEASE 数据库: H2数据库 &#xff08;嵌入式内存性数据库&#xff0c;安装简单&#xff0c;方便用于开发、测试&#xff0c;不适合用于生产&#xff09; mybatis-plus框架&#xff0c;非常迅速开发CRUD

SpringMVC整体工作流程

. 用户发起一个请求&#xff0c;请求首先到达前端控制器前端控制器接收到请求后会调用处理器映射器&#xff0c;由此得知&#xff0c;这个请求该由哪一个Controller来进行处理(并未调用Controller)&#xff1b;前端控制器调用处理器适配器&#xff0c;告诉处理器适配器应该要…

Macos安装OrbStack

什么是OrbStack OrbStack 是一种在 macOS 上运行容器和 Linux 机器的快速、轻便和简单方法。它是 Docker Desktop 和 WSL 的超强替代品&#xff0c;所有这些都在一个易于使用的应用程序中。 在Macos M系列芯片上&#xff0c;经常遇到docker镜像不兼容的问题&#xff0c;此时使…

ubuntu的镜像源+bionic版本

首先第一步 查找和你自己ubuntu版本匹配的版本号 匹配代号如下 在终端输入lsb_release -a查看自己系统上的版本号 可以看到我这个版本号的代号是bionic。 每个版本的镜像文件都是有规律的。 bionic版本的源如下 # 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic ma…

Linux内核之页面映射到虚拟地址:insert_page用法实例(六十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

vscode连接阿里云 无法连接

如果是首次连接&#xff0c;需要在阿里云控制台下 点击重置密码 同时注意在重置密码页面最下方&#xff0c;有开启密码登录选项

Nginx实现端口转发与负载均衡配置

前言&#xff1a;当我们的软件体系结构较为庞大的时候&#xff0c;访问量往往是巨大的&#xff0c;所以我们这里可以使用nginx的均衡负载 一、配置nginx实现端口转发 本地tomcat服务端口为8082 本地nginx端口为8080 目的&#xff1a;将nginx的8080转发到tomcat的8082端口上…

SOLIDWORKS DRAFTSIGHT 2024新功能Top10

SOLIDWORKS 2024 以更加强大的姿态亮相&#xff0c;帮助您重塑设计。为了助力您简化和加快由概念到成品的产品开发流程&#xff0c;SOLIDWORKS 2024 涵盖全新以用户为中心的增强功能&#xff0c;致力帮您实现更智能、更快速地与您的团队和外部合作伙伴协同工作&#xff0c;下面…

C语言 循环语句 (1) 讲述循环概念演示while语句

接下来 我们来说 循环控制结构 循环的基本原理及循环语句 再说原理之前 我们 先来看几个案例 要求是 让用户在键盘中输入三个整数 然后将这些整数求和 这个用我们之前的知识就能轻松搞定 #define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告 #pragma warning(disable:6031)…

Tomcat的请求连接配置

从默认配置看&#xff0c;SpringBootd的最大可以处理8292个请求&#xff0c;方便记忆是&#xff1a;不到8300 server:port: 8081tomcat:threads:max: 20 #最大工作线程数min-spare: 10 #最小工作线程数max-connections: 8192 #最大请求连接数ac…

MyBatis(XML映射器操作)

文章目录 XML映射器操作&#xff08;XxxMapper.xml&#xff09;文件目录1.基本介绍1.优点2.常用顶级元素 2.环境配置1.在原来的父模块下创建一个子模块2.删除没用的两个文件夹3.创建基本目录4.父模块的pom.xml5.jdbc.properties6.mybatis-config.xml7.测试使用MonsterMapperTes…

FSNotes for Mac v6.7.1中文激活:轻量级笔记管理工具

FSNotes for Mac&#xff0c;一款专为Mac用户打造的轻量级笔记管理工具&#xff0c;让您的笔记管理变得简单而高效。 FSNotes for Mac v6.7.1中文激活版下载 它采用Markdown文件格式&#xff0c;让您轻松创建和编辑富文本笔记&#xff0c;无需担心格式问题。同时&#xff0c;FS…