实验九 存储过程和触发器

 题目

  1. 创建并执行一个无参数的存储过程proc_product1,通过该存储过程可以查询商品类别名称为“笔记本电脑”的商品的详细信息:包括商品编号、商品名称、品牌、库存量、单价和上架时间信息

2、创建并执行一个带输入参数的存储过程proc_product2,通过该存储过程可以根据输入参数供应商名称和包含关键字的商品名称进行商品具体信息的查询:包括商品编号、商品名称、品牌、库存量、单价、成本价、供应商名称、联系电话信息

3、创建并执行一个带输入参数和输出参数的存储过程proc_product3,通过该存储过程可以根据输入的会员用户名查询出该会员购买的商品信息:包括商品名称、购买数量和实付总金额信息

4、删除存储过程proc_product3

5、创建一个名为tri_insert1的DML触发器,该触发器的作用是:当向会员表member中添加一条记录时,如果新添加的会员编号已经存在于表中,则禁止插入该条记录,并提示该会员已经存在!。

6、创建一个名为tri_update1的DML触发器,该触发器的作用是:不允许修改订单表orders中的discount属性列的值,并给出提示语句“禁止修改orders表中的discount属性列的数据!”

7、创建一个名为tri_insert2的DML触发器,该触发器的作用是:当向会员表member新插入一条会员记录时,系统自动将部门表department中对应部门的属性列deptotal进行加1处理

8、创建一个名为tri_delete的DML触发器,该触发器的作用是:用删除会员表menmber中某条会员记录的时,系统自动在订单表orders中查询是否有该会员的订单记录,如果有,则同时删除该会员的所有订单记录

9、删除触发器tri_delete

步骤

  1. 创建并执行一个无参数的存储过程proc_product1,通过该存储过程可以查询商品类别名称为“笔记本电脑”的商品的详细信息:包括商品编号、商品名称、品牌、库存量、单价和上架时间信息

Create procedure proc_product1 as

select prono, proname, brand, stock, price, ontime from product

 

2.创建并执行一个带输入参数的存储过程proc_product2,通过该存储过程可以根据输入参数供应商名称和包含关键字的商品名称进行商品具体信息的查询:包括商品编号、商品名称、品牌、库存量、单价、成本价、供应商名称、联系电话信息

Create  procedure  proc_product2(@supname varchar(255), @keyword varchar(255))

as

select prono, proname, brand,

 stock, price, cost, supname, telephone

from product

left join supplier

on supplier.supno = product.supno

where supname = @supname and proname like '%' + @keyword + '%'

3.创建并执行一个带输入参数和输出参数的存储过程proc_product3,通过该存储过程可以根据输入的会员用户名查询出该会员购买的商品信息:包括商品名称、购买数量和实付总金额信息

Create procedure proc_product3

@memname varchar(50)

as

select proname,qty,totalmoney

from member,product,orders

where member.memno=orders.memno and orders.prono=product.prono and memname = @memname

4、删除存储过程proc_product3

drop procedure proc_product3

5、创建一个名为tri_insert1的DML触发器,该触发器的作用是:当向会员表member中添加一条记录时,如果新添加的会员编号已经存在于表中,则禁止插入该条记录,并提示该会员已经存在!。

CREATE TRIGGER tri_insert1

on member

for insert

as

begin

declare @memno int;

select @memno = memno from inserted;

select * from member where memno = @memno;

if exists(select * from member where memno = @memno)

begin

rollback tran

print '不允许添加'

end

End

6、创建一个名为tri_update1的DML触发器,该触发器的作用是:不允许修改订单表orders中的discount属性列的值,并给出提示语句“禁止修改orders表中的discount属性列的数据!”

CREATE TRIGGER tri_update1

on orders

after update

as

if update(discount)

begin

rollback tran

print'禁止修改orders表中的discount属性列的数据!'

End

  1. 创建一个名为tri_insert2的DML触发器,该触发器的作用是:当向会员表member新插入一条会员记录时,系统自动将部门表department中对应部门的属性列deptotal进行加1处理

CREATE TRIGGER tri_insert2

on employee

after insert

as

begin

update department

set deptotal = deptotal+1

where depno = (select depno from inserted);

End

  1. 创建一个名为tri_delete的DML触发器,该触发器的作用是:用删除会员表menmber中某条会员记录的时,系统自动在订单表orders中查询是否有该会员的订单记录,如果有,则同时删除该会员的所有订单记录

CREATE TRIGGER tri_delete

on member

for delete

as

delete from orders

where memno=(select memno from deleted)

9、删除触发器tri_delete

  drop trigger tri_delete

  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rethinking Federated Learning with Domain Shift: A Prototype View

CVPR2023,针对分布式数据来自不同的域时,私有模型在其他域上表现出退化性能(具有域转移)的问题。提出用于域转移下联邦学习的联邦原型学习(FPL)。核心思想是构建集群原型和无偏原型,提供富有成效的领域知识和公平的收敛目标。将样本嵌入拉近到属于相同语义的集群原型,而…

【前端】IntersectionObserver 实现图片懒加载和无限滚动

【前端】IntersectionObserver 实现图片懒加载和无限滚动 在前端开发中,性能优化是一个重要的考量因素。随着现代网页和应用的复杂性增加,确保页面快速加载和流畅运行变得越来越重要。本文将介绍一种强大的工具——IntersectionObserver API&#xff0c…

智胜未来:AI如何重塑SaaS用户增长战略

在当今这个数字化时代,SaaS(软件即服务)已成为企业运营的重要支柱,而人工智能(AI)技术的迅猛发展,正以前所未有的方式重塑着SaaS行业的面貌,特别是对其用户增长战略产生了深远影响。…

每日一题——Python实现PAT乙级1005 继续(3n+1)猜想(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 代码逻辑概述 时间复杂度分析 空间复杂度分析 总结 我要更强 代码优化点…

Openwrt路由器部分ipv6公网地址无法访问的问题

路由器是Openwrt,终端访问ipv6地址经常有些能访问,有些不能访问,一开始以为是运营商问题,后面ssh到openwrt发现所有访问都正常。 查阅资料后才知道是MTU设置问题,Openwrt 默认MTU是1492,使用IPV6应减少60个…

Word文档中公式的常用操作

一、参考资料 二、常用操作 插入公式 Alt 多行公式 Shift Enter 多行公式对齐 WORD Tips: 多行公式编辑及对齐 word自带公式等号对齐(可任意符号处对齐) 多行公式按照 为基准对齐。 拖动鼠标选中整个公式点击右键,选择【对齐点(…

[激光原理与应用-97]:激光焊接焊中检测系统系列介绍 - 1 - 什么是焊接以及传统的焊接方法

目录 一、什么是焊接 1.1 概述 1.2 基本原理 二、传统的焊接技术与方法 2.1 手工电弧焊: 1、定义与原理 2、特点 3、焊条类型 4、应用领域 5、安全注意事项 2.2 气体保护焊: 1、原理与特点 2、应用领域 3、气体选择 4、注意事项 2.3 电阻…

C++ 文达校内党员管理系统-计算机毕业设计源码20855

目 录 摘要 1 绪论 1.1研究背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 文达校内党员管理系统系统分析 2.1 可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4 系统流程分析 2.4.1 数据流程 2.5.2 业务流程 2.…

CPU/内存/综合性能评估工具汇总-3:unixbench

目录 一、概括二、UnixBench 一、概括 嵌入式开发中对要设计的产品、立项的项目进行设计时,往往需要对关键芯片进行性能评估,本文主要总结基于linux系统的产品在性能评估时的工具使用总结,在aarch64(arm64平台下测试),板卡根文件…

前端学习(三)CSS介绍及选择符

##最近在忙期末考试,因此前端笔记的梳理并未及时更新。在学习语言过程中,笔记的梳理对于知识的加深very vital.因此坚持在明天学习新知识前将笔记梳理完整。 主要内容:CSS介绍及选择符 最后更新时间:2024/7/4 目录 内容&#x…

Redis 7.x 系列【15】持久化机制之 RDB

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2 执行原理3. 配置项3.1 save3.2 stop-writes-on-bgsave-error3.3 rdbcompress…

HMI 的 UI 风格创造奇迹

HMI 的 UI 风格创造奇迹

关于巴图自动化Profinet协议转Modbus协议网关模块怎么配置IP地址教学

Profinet协议和Modbus协议是工业领域中常用的两种通讯协议,除此以外还有较为常见的:ModbusTCP协议,Profibus协议,Profibus DP协议,EtherCAT协议,EtherNET协议,CAN,CANOPEN等它们在自…

利用运放设计简单有源滤波器(低通、高通、带通)

本文旨在帮助刚接触模电的同学快速设计一个实用可靠的有源滤波器,故我将不会说一些晦涩难懂的原理,只给出仿真电路图。 低通滤波器 图1 低通滤波器 图1所示的是一个截止频率约为1KHz的低通滤波器。 图2 200Hz的情况 图3 2KHz的情况 设计步骤为&#x…

Lesson 47 A cup of coffee

Lesson 47 A cup of coffee 词汇 like v. 喜欢,想要 用法:like 物品 / 人 喜欢……    like 动词ing 喜欢做……(习惯性)    like to 动词原形 喜欢做……(一次性) 例句:我喜欢小狗…

一、强化学习基本概念

一、强化学习基本概念 1.1 何为强化学习?1.2 强化学习的环境1.3 强化学习的目标1.4 强化学习的数据 1.1 何为强化学习? 强化学习(Reinforcement Learning, RL)是机器通过与环境交互来实现目标的一种计算方法。机器和环境的一轮交互是指:机器在…

FlinkCDC-3.1.1 DataStream Source

问题&#xff1a; Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.catalog.ObjectPath 解决&#xff1a; 在poml文件中&#xff0c;导入的flink-table依赖把“ <scope>”去掉 <properties><maven.compiler.source>8</maven.compi…

安卓稳定性之crash详解

目录 前言一、Crash 的基本原理二、Crash 分析思路三、实例分析四、预防措施五、参考链接 前言 在开发和测试 Android 应用程序时&#xff0c;遇到应用程序崩溃是很常见的情况。 Android 崩溃指的是应用程序因为异常或错误而无法正常执行&#xff0c;并且导致应用强制关闭。 一…

通过一个单相逆变器仿真深度学习PR控制器

目录 前言 ​编辑 PR控制器的理论 PR控制器不同表达式及其建模 PR控制器连续积分组合及模型 PR控制器连续传递函数及模型 PR控制器离散积分及模型 PR控制器离散传递函数及模型 PR控制器差分方程及模型 系统仿真效果 总结 前言 在项目开发中常用PI控制器&#xff0c;这次在…

java实现【 生成小程序二维码:图片+二维码备注】

1.逻辑&#xff1a;进行获取小程序的token进行-获取不限制的小程序码。2.参考的地址&#xff1a;微信官方文档&#xff1a;官网-获取不限制的小程序码 需要注意的点&#xff1a;1. 如果传入page这个参数的话必须定义check_path参数&#xff0c;不然无法识别-page指定的目录2. …