【数据库复习】第五章 数据库编程1

news2024/7/6 18:51:10

存储过程和触发器

PL/SQL :

SQL的扩展

增加了过程化语句功能

基本结构是块

块之间可以互相嵌套

每个块完成一个逻辑操作

1.定义部分

     DECLARE         

       ------变量、常量、游标、异常等   

定义的变量、常量等只能在该基本块中使用

当基本块执行结束时,定义就不再存在

2.执行部分

       BEGIN

   ------SQL语句、PL/SQL的流程控制语句

   EXCEPTION

       ------异常处理部分        

   END;

一、 条件控制语句

   IF-THEN,  IF-THEN-ELSE和嵌套的IF语句

1. IF condition THEN

       Sequence_of_statements;        

    END IF   

2. IF condition THEN

       Sequence_of_statements1;  

    ELSE

       Sequence_of_statements2;  

    END IF;

3. 在THEN和ELSE子句中还可以再包括IF语句,即IF语句可以嵌套

二、循环控制语句

    LOOP, WHILE-LOOP和FOR-LOOP

    1. 最简单的循环语句LOOP

   LOOP

      Sequence_of_statements;        

  END LOOP;

  多数数据库服务器的PL/SQL都提供EXIT、BREAK或LEAVE等循环结束语句,保证LOOP语句块能够结束。

2.  WHILE-LOOP

     WHILE condition LOOP

      Sequence_of_statements;

END LOOP;

每次执行循环体语句之前,首先对条件进行求值

如果条件为真,则执行循环体内的语句序列。

如果条件为假,则跳过循环并把控制传递给下一个语句

3.  FOR-LOOP

     FOR count IN [REVERSE]bound1 … bound2 LOOP

      Sequence_of_statements;

END LOOP;

二、 存储过程的用户接口

1. 创建存储过程:

CREATE Procedure 过程名([参数1,参数2,...]) AS

<PL/SQL块>;

过程名:数据库服务器合法的对象标识

参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数也可以定义输入参数、输出参数或输入/输出参数。默认为输入参数。

过程体:是一个<PL/SQL块>。包括声明部分和可执行语句部分

 

 

2. 执行存储过程

  CALL/PERFORM  Procedure 过程名([参数1,参数2,...]);

使用CALL或者PERFORM等方式激活存储过程的执行。

在PL/SQL中,数据库服务器支持在过程体中调用其他存储过程

 

触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程

由服务器自动激活

可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力

CREATE TRIGGER语法格式

     CREATE TRIGGER <触发器名>  

         { BEFORE | AFTER } <触发事件> ON <表名>

           FOR EACH  { ROW | STATEMENT }

         [WHEN <触发条件>]

          <触发动作体>

定义触发器的语法说明:

1. 创建者:表的拥有者

2. 触发器名

3. 表名:触发器的目标表

4. 触发事件:INSERT、DELETE、UPDATE

5. 触发器类型

行级触发器(FOR EACH ROW)

语句级触发器(FOR EACH STATEMENT)

 

触发器的执行,是由触发事件激活的,并由数据库服务器自动执行

一个数据表上可能定义了多个触发器

同一个表上的多个触发器激活时遵循如下的执行顺序:

执行该表上的BEFORE触发器;

激活触发器的SQL语句;

执行该表上的AFTER触发器。

嵌入式SQL

SQL语言提供了两种不同的使用方式:

交互式

嵌入式

为什么要引入嵌入式SQL

SQL语言是非过程性语言

事务处理应用需要高级语言

这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充

主语言

嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的程序设计语言,如C、C++、Java,称为宿主语言,简称主语言。

为了区分SQL语句与主语言语句, 所有SQL语句必须加前缀EXEC SQL,以(;)结束:

EXEC SQL <SQL语句>;

 

 

 

 

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

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

相关文章

OpenCL编程指南-3.1OpenCL平台与设备

OpenCL平台 在2.1中讨论过&#xff0c;OpenCL应用的第一步是查询OpenCL平台集合&#xff0c;选择其中一个或多个平台在应用中使用。与平台关联有一个简档 (profile)&#xff0c;描述所支持的特定OpenCL版本的功能。简档可以是完全简档&#xff0c;涵盖定义为核心规范的所有功能…

超好用!免费使用的Sketch在线版真香!

在设计领域中&#xff0c;Sketch是一款非常受欢迎的矢量绘图设计软件&#xff0c;但它只支持Mac系统&#xff0c;这对于Windows用户来说是一个很大的限制。虽然有人称之为Sketch在线版&#xff0c;但实际上并不存在这样的工具。不过&#xff0c;现在有一款全新的在线协同设计工…

SpringBoot整合Mybaties增删改查

文章目录 1、填写pom.xml2、填写application.properties3、User实体4、Springboot主类5、UserMapper6、UserServise层7、UserServiseImpl8、Controller类测试 使用 Java 开发或者学习过程中&#xff0c;最避免不了的是连接和操作数据库&#xff0c;此次&#xff0c;学习如何在S…

Java之单例模式

目录 一.上节内容 1.什么是线程安全 2.线程不安全的原因 3.JMM(Java内存模型) 4.synchronized锁 5.锁对象 6.volatile关键字 7.wait()和notify() 8.Java中线程安全的类 二.单例模式 1.什么是单例 2.怎么设计一个单例 1.口头约定 2.使用编程语言的特性 三.饿汉模式…

文心一言没有体验上,看看讯飞星火认知大模型

目录 前言 正文 1.简单对话环节 1.1什么是讯飞星火认知大模型 1.2你都可以干一些什么 1.3你的训练数据库还在持续更新么 1.4今天是哪一天 1.5宇宙中有哪些目前认为可能存在生命的星球 2.辅助学习对话 2.1我想完成一篇关于CT检测技术的论文综述&#xff0c;你有什么好的…

Elasticsearch - 聚合获取原始数据并分页排序模糊查询

文章目录 概述第一步 &#xff1a; 聚合获取原始数据并分页知识点&#xff1a;bucket_sort实现分页知识点&#xff1a;获取 total -----> cardinality 去重 小结第二步 分页并支持模糊查询方式一 query 方式方式二&#xff1a; 脚本cardinality 的 script 概述 ES版本&…

4.100ASK_V853-PRO开发板支持4寸MIPI屏

0.前言 ​ 由于之前我们已经适配过RGB屏&#xff0c;如果我们去适配了4寸MIPI屏&#xff0c;那么RGB屏就不能使用了。对于4寸屏购买链接为&#xff1a; 百问网4寸MIPI屏 LCD_调试指南:https://tina.100ask.net/SdkModule/Linux_LCD_DevelopmentGuide-01/ Display_开发指南:h…

pmp学习对职场的影响有多大?

不知不觉&#xff0c;2021的进度条已经走过了一半。行业政策的变化&#xff0c;岗位的能力对比&#xff0c;都让职场竞争变得更加激烈&#xff0c;成为一名优秀且具有竞争力的项目经理好像变得越来越难了。 为什么这样说呢&#xff1f;因为各行各业在对PM要求各项专业技能的同…

ChatGPT人工智能聊天机器人的优势与应用

当今社会&#xff0c;聊天机器人(Chatbot)已经成为一种新的交互方式。而ChatGPT则是一种基于深度学习技术的聊天机器人&#xff0c;它可以模拟人类对话的过程&#xff0c;可以为人们提供快速、便捷的解决方案。以下是ChatGPT的简介和优势&#xff1a; 基本信息&#xff1a;Chat…

将区块链技术融入电梯管理系统

电梯管理系统 电梯是人们日常生活和工作中必不可少的交通工具&#xff0c;为了保障电梯的安全性和运营效率&#xff0c;需要实时监测电梯状态及事件/故障。这里可以查考网络上提供的方案&#xff0c;在电梯内部安装了各种各样的传感器&#xff0c;通过网关将收集到的数据上传到…

小红书保姆级投放指南 | 助力引爆618

5月到来&#xff0c;618营销正式进入放量冲刺期&#xff0c;作为年中重量级营销节点&#xff0c;各大品牌角逐激烈。 本期千瓜推出618投放指南&#xff0c;助力品牌在冲刺期抢占用户心智、抓住高转化周期流量&#xff0c;打赢这场无硝烟之战。整体节奏把控四个阶段循序渐进 品牌…

Acrel-2000系列监控系统在亚运手球比赛馆建设10kV供配电工程中的应用

安科瑞 耿敏花 摘要:智能化配电监控系统是数字化和信息化时代应运而生的产物&#xff0c;已经被广泛应用于电网用户侧楼宇、体育场馆、科研设施、机场、交通、医院、电力和石化行业等诸多领域的高/低压变配电系统中。安科瑞自研的Acrel-2000系列监控系统可监控高压开关柜、低压…

第八章 SSM整合

1.整合关键点 Spring&#xff1a;负责对象的创建、维护、管理及对象依赖资源的注入 SpringMVC&#xff1a;负责请求的处理相当于(Servlet) MyBatis&#xff1a;负责与数据库进行交互 2.整合步骤 2.1.在pom.xml文件中导入依赖 mybatis、spring-webmvc、mybatis-spring、bonecp数…

GIF动态图录制工具

大家好&#xff0c;我是小寻&#xff0c;欢迎关注公众号:工具优选&#xff0c;免费领取优质项目源码和常用工具&#xff0c;还可以加入我的交流群! 一、工具介绍 Screen to Gif中文版是一款方便可靠的gif动画录制软件&#xff0c;可以用来快速录制屏幕上的指定区域&#xff…

二十年前的老游戏,为何再次让无数程序员痴迷不已?

SpaceTraders是个古老的策略类游戏&#xff0c;运行在古老的Palm OS和Windows Mobile PDA上。 游戏开始时&#xff0c;玩家将获得一艘飞船&#xff0c;然后驾驶它在各个星球之间穿梭&#xff0c;挖掘星球矿产&#xff0c;低买高卖赚取利润&#xff0c;赚了钱可以升级飞船&#…

麻了,一个操作把MySQL主从复制整崩了

最近公司某项目上反馈mysql主从复制失败&#xff0c;被运维部门记了一次大过&#xff0c;影响到了项目的验收推进&#xff0c;那么究竟是什么原因导致的呢&#xff1f;而主从复制的原理又是什么呢&#xff1f;本文就对排查分析的过程做一个记录。 主从复制原理 我们先来简单了…

淘宝商品详情接口 淘宝商品库存接口 淘宝商品销量接口 淘宝商品sku信息接口 淘宝商品优惠价接口

淘宝商品详情API接口item_get是一个非常重要的API接口&#xff0c;它可以获取淘宝商品的详细信息。对于淘_宝卖家来说&#xff0c;通过调用该接口可以实现对自己商品信息的获取、修改和管理等功能。 使用item_get接口可以获取一个商品的所有信息&#xff0c;包括商品的标题、价…

[学习笔记] [机器学习] 4. [上]线性回归(正规方程、梯度下降、岭回归)

视频链接数据集下载地址&#xff1a;无需下载 本文学习目标&#xff1a; 掌握线性回归的实现过程应用LinearRegression或SGDRegressor实现回归预测知道回归算法的评估标准及其公式知道过拟合与欠拟合的原因以及解决方法知道岭回归的原理及与线性回归的不同之处应用Ridge实现回…

这次彻底不需要账号了,无需魔法永久白嫖GPT

免费GPT 自GPT风靡以来&#xff0c;大家用的是不亦乐乎&#xff0c;你用他去解决过实际问题&#xff0c;你用他去写过代码&#xff0c;你用他去修改过bug&#xff0c;你用他去写过sql&#xff0c;你用他去画过图&#xff0c;你问过他你能想到的任何“刁钻”问题。 你&#xff…

如何在没有密码的情况下解锁华为手机

华为手机用户通常会使用密码保护他们的设备免受未经授权的访问。但是当用户忘记密码时就会出现问题。如果您无法回忆起密码&#xff0c;可以选择重置手机。但是有更多更好的方法可以帮助您解锁华为手机。在本文中&#xff0c;我们将向您展示如何免密码解锁华为手机。按照本文&a…