014.PL-SQL编程

news/2024/9/17 5:10:09/ 标签: sql, 数据库, oracle, pl/sql, sqlplus, oracle教程, PLSQL Developer

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线
在这里插入图片描述

PL-SQL编程

        • PL/SQL编程
          • PL/SQL介绍
        • 开发工具
    • 编写过程
          • PL/SQL基础

PL/SQL编程
  • 本节要点
    • PL/SQL介绍
    • PL/SQL基础
  • 本节目标
    • 理解oracle的PL/SQL概念
    • 掌握PL/SQL编程技术(包括编写过程、函数、触发器、包…)

PL/SQL介绍
  • PL/SQL(Procedural Language/sql)是oracle在标准的sql语言上的扩展。PL/SQL不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。
  1. 过程、函数、触发器是pl/sql编写的
  2. 过程、函数、触发器是存放在Oracle中的
  3. pl/sql是非常强大的数据库过程化语言
  4. 用pl/sql编写的过程、函数可以在java程序中调用
  • 用PL/SQL为什么会提高程序的运行性能
    1. 传统方式:程序内些SQL语句——>通过链接传到数据库——>数据库编译SQL语句——>执行编译后的SQL语句——>返回结果给程序
    2. PL/SQL方式:程序传参数调用PL/sql过程——>数据库执行PL/SQL过程——>返回结果给程序
  • 学习必要性
  • 优点
    1. 提高应用程序的运行性能
    2. 模块化的设计思维[各个功能直接封装成过程]
    3. 减少网络传输量
    4. 提高安全性
  • 缺点
    1. 移植性不好(更换数据库,所有过程都要重新写)

开发工具
  • sqlplus开发工具
    • sqlplus是oracle公司提供的一个工具
    • 编写过程
      • 案例:编写一个存储过程,该过程可以向某表中添加记录
        1. 创建一个简单的表
        create table mytest(name varchar2(30),passwd varchar2(30));2. 创建过程sp_pro1
        create procedure sp_pro1 is
        begin
        -- 执行部分
        insert into mytest values('疯子','m123');
        end;-- 如果过程名已存在
        解决方法1:更换过程名;
        解决方法2:or replace参数(创建或者替换)
        create or replace procedure sp_pro1 is
        begin
        -- 执行部分
        insert into mytest values('疯子','m123');
        end;
        -- replace:如果该过程名存在,就替换
        -- create or replace: 创建 或 替换
        
    • 查看过程错误信息
      show error;
      
    • 调用过程
      1. exec 过程名(参数值1,参数值2,…)
      2. call 过程名(参数值1,参数值2,…)
      exec sp_pro1
      
  • pl/sql developer开发工具
    • pl/sql developer是用于开发pl/sql块的继承开发环境(ide)。它是一个独立的产品,不是oracle的一个附带品
    • 编写过程

在这里插入图片描述

  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 在这里插入图片描述

PL/SQL基础
  • 开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。比如:分页存储过程模块、订单处理存储过程模块、转账存储过程模块…而且如果用pl/sql编程,我们可以轻松完成复杂的查询要求

  • 简单分类

    • 在这里插入图片描述
  • 编写规范

  • 注释

    1. 单行注释:–
      select ename from emp -- 查询emp表的员工姓名
      
    2. 多行注释://
      select *from emp/*where empno = '7788'and sal > 3000*/
      
  • 标识符号的命名规范

    1. 定义变量时,用v_作为前缀:v_sal
    2. 定义常量时,用c_作为前缀:c_rate
    3. 定义游标时,用_cursor作为后缀:emp_cursor
    4. 定义例外时,用e_作为前缀:e_error


http://www.ppmy.cn/news/1522950.html

相关文章

lvs dr模式集群搭建

lvs-dr模式 集群搭建 编辑zyj86主机网卡配置文件 cd /etc/sysconfig/network-scripts/ cp ifcfg-ens160 ifcfg-ens160:1 vim ifcfg-ens160:1TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes IP…

经验笔记:持续集成/持续部署(CI/CD)流程

持续集成/持续部署(CI/CD)流程经验笔记 随着软件开发的快速发展,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已经成为现代软件工程不可或缺的部分。CI/CD不仅…

Transformer、BERT、GPT、T5、LLM(大语言模型),以及它们在实际行业中的运用

作为AI智能大模型的专家训练师,我将从主流模型框架的角度来分析其核心技术特点及其在不同实际行业中的应用。我们重点讨论以下几个主流模型框架:Transformer、BERT、GPT、T5、LLM(大语言模型),以及它们在实际行业中的运…

【unity小技巧】使用Unity的Animation Layer和Avatar Mask把多个不同动画组合使用,实现人物不同部位播放不同的动画

文章目录 前言如何使用Unity的Animation Layer和Avatar Mask把多个动画组合使用游戏角色的疲劳感是如何制作的?利用Animation Layers中的additive模式把多个动画混合在一起如何制作角色的受伤状态?Unity动画层级(Animation Layer)…

ChatGPT 3.5/4.0使用手册:解锁人工智能的无限潜能

1. 引言 在人工智能的浪潮中,ChatGPT以其卓越的语言理解和生成能力,成为了一个革命性的工具。它不仅仅是一个聊天机器人,更是一个能够协助我们日常工作、学习和创造的智能伙伴。随着ChatGPT 3.5和4.0版本的推出,其功能和应用范围…

Ftrans无缝替代FTP方案:保障数据传输的安全性与合规性

FTP(文件传输协议)是一种用于在网络上进行文件传输的标准网络协议,历史悠久并且被广泛使用。但随着业务规模和文件体量的快速增长,在应用实践中,FTP存在一些安全和效率问题。因此政府单位需要可以平滑替代FTP的文件传输…

【H2O2|全栈】关于HTML(2)HTML基础(一)

HTML相关知识 目录 前言 准备工作 标签的具体分类(一) 本文中的标签在什么位置使用? 属性 标题标签 段落标签 文本格式化标签 分类汇总 计算机输出标签 ​编辑分类汇总 引文,引用标签 分类汇总 预告和回顾 UI设计…

消息中间件都有哪些

RabbitMQ:这可是一个开源的消息代理软件,也叫消息中间件。它支持多种消息传递协议,可以轻松地在分布式系统中进行可靠的消息传递。 Kafka:Apache Kafka是一个分布式流处理平台,它主要用于处理实时数据流。Kafka的设计初…

C#学习 深入理解委托、匿名方法、Lamda表达式、Linq;

目录 一.委托 1.1 什么是委托 1.2 委托的使用 二.匿名方法和Lamda表达式 2.1 什么是匿名方法 2.2 Lambda表达式 三.Linq 3.1 Linq理解 3.2 Linq的扩展方法 一.委托 1.1 什么是委托 委托和类一样,是具有特定参数列表和返回值类型的方法函数的…

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述…

【2.2 简单的逻辑电路,包括与门、与非门、或门】

2.2 简单的逻辑电路,包括与门、与非门、或门 在深度学习中,直接实现传统逻辑电路(如与门、与非门、或门)并不是最常见的应用,因为深度学习模型(如神经网络)通常用于处理更复杂、更抽象的数据表示…

Nginx跨域运行案例:云台控制http请求,通过 http server 代理转发功能,实现跨域运行。(基于大华摄像头WEB无插件开发包)

文章目录 引言I 跨域运行案例开发资源测试/生产环境,Nginx代理转发,实现跨域运行本机开发运行II nginx的location指令Nginx配置中, 获取自定义请求header头Nginx 配置中,获取URL参数引言 背景:全景监控 需求:感知站点由于云台相关操作为 http 请求,http 请求受浏览器…

MonoHuman: Animatable Human Neural Field from Monocular Video 精读

一、共享双向变形模块 1. 模块的核心思想 共享双向变形模块的核心目标是解决从单目视频中生成不同姿态下的3D人体形状问题。因为视频中的人物可能处于各种动态姿态下,模型需要能够将这些不同姿态的几何形状进行变形处理,以适应标准的姿态表示并生成新的…

Anthropic发布Claude企业计划 对标OpenAI的ChatGPT Enterprise

领先的人工智能初创公司 Anthropic 今天宣布推出Claude企业计划,以扩大Claude在企业中的应用。OpenAI 早在 2023 年就推出了名为ChatGPT Enterprise 的类似产品,并取得了相当大的成功。事实上,OpenAI 声称,财富 500 强中已有 92% …

python网络爬虫(五)——爬取天气预报

1.注册高德天气key 点击高德天气,然后按照开发者文档完成key注册;作为爬虫练习项目之一。从高德地图json数据接口获取天气,可以获取某省的所有城市天气,高德地图的这个接口还能获取县城的天气。其天气查询API服务地址为https://re…

在模板中使用 Django 会话

在 Django 中使用会话(session)可以让你在用户访问网站的过程中存储和访问临时数据。我们可以利用会话在速度计算器的例子中存储和显示上次计算的结果。 1、问题背景 在 Django 中,可以使用会话来存储用户数据。在某些情况下,我们…

如何使用PTK一键安装opengaussdb 5.0

1、关于PTK工具 MogDB数据库是云和恩墨基于openGauss开源数据库打造,安稳易用的企业级关系型数据库。 PTK是云和恩墨出品的一款工具,帮助用户更便捷地部署管理MogDB数据库。 1.1 使用场景 开发人员快速启动多个本地 MogDB 环境用户通过 PTK 快速安装…

QString如何格式化字符串

在Qt中,QString类提供了多种方式来格式化字符串。这包括使用arg()方法、sprintf()风格的格式化(通过QString::asprintf()或QString::number()等辅助函数),以及从Qt 5.10开始引入的C11风格的格式化(虽然Qt核心库本身并不…

软件测试之压力测试知识总结

软件测试之压力测试知识总结 引言 随着信息技术的飞速发展,软件系统在各个行业中的应用越来越广泛,其稳定性和可靠性成为用户关注的焦点。压力测试作为软件测试中的一种重要方法,对于确保软件在高负载环境下的稳定性和可靠性具有重要意义。…

专业文字处理与协作软件Adobe InCopy(IC)2024WIN/MAC下载及安装教程

目录 简介: 一、Adobe InCopy软件概述 软件基本信息 主要特点 最新版本 二、下载与安装 下载 安装 Windows系统安装 Mac系统安装 三、系统要求 Windows系统要求 Mac系统要求 四、使用教程 基本操作 高级功能 协作与共享 简介: Adobe I…