Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)

本文主要是介绍Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、PL/SQL

Procedure Language/SQL是一门编程语言,Oracle公司对SQL进行了扩展,扩展后的SQL,就叫PL/SQL,功能更强大,面向过程语言,模块化编程语言,用于开发基于数据库的应用程序。下面关于PL/SQL编程基础主要介绍两点PL/SQL程序块于PL/SQL语句。

1、PL/SQL程序块

PL/SQL程序的基本单元,按照指定的方式,进行定义的一段程序。

   匿名块不能被其他程序调用可以临时使用匿名块的代码不会存储在数据库中命名块触发器存储过程函数包包体有名字的程序块可以重复调用会被编译并存储在数据库中子程序命名块有时候特指存储过程和函数

关于匿名块介绍

   语法:  [declare]  --定义部分:定义变量begin  --执行部分:sql语句、pl/sql块 [exception]  --异常处理end;  --块结束标记定义部分:用于定义常量、变量、游标、异常、数据类型执行部分:实现应用模块功能,包含了要执行的PL/SQL语句和SQL语句异常处理:处理执行部分可能出现的运行错误 begindbms_output.put_line('hello world!');end;PL/SQL中 ';'只表示语句的结束,运行需要输入'/'set serveroutput on; 默认输出关闭,如需输出结果,需要手动设置开启dbms_output  Oracle提供的系统包put_line是dbms_output包下的过程,用于输出字符串信息PL/SQL程序块可以使用Oracle提供的SQL函数

关于变量和常量介绍

   定义变量或常量语法:变量名 [constant] 数据类型 [not null] [:= | default 表达式]:= 赋值运算符constant 表示定义的是常量,必须对它初始化not null 用于指定变量不能为null,声明为not null的变量必须有初始化赋值

2、PL/SQL编程基础

具有特殊含义的符号

  算术运算符+ - * / **(幂运算符)比较(关系)运算符>  >=  <  <=不等于:!=  <>  ^=等于:=is null      is not nulllikebetween...and...in()逻辑运算符and  or  not赋值运算符:=字符串连接符||语句终止符;双引号变量符“变量名”  常用在用关键字定义变量名或变量名含有空格等情况时注释符--单行注释/**多行注释*/范围操作符..     1..10       1到10属性提示符%        %type       %rowtype

标识符

     可用于所有需要起名字的地方直接写,要以英文字母开头如果不以英文字母开头,要以双引号引起来标识符能直接使用的字符大小写英文字母、数字、_ 、$、#,如果要包含其他的字符,    则必须用双引号变量符,不能直接是oracle关键字,如果是,必须用双引号变量符最大长度为30个字符

文本(字面量)

       能直接写的值数字文本整数、浮点数、科学计数法 5E6 → 5×10^6、幂操作 5**2 → 5^2字符文本用单引号引起来的单个字符字符串文本用单引号引起来的两个或两个以上的字符字符串中’‘代表一个普通字符’布尔文本true false日期时间文本用字符串表示的日期字符串必须符合oracle对时间的默认显示格式‘dd-mon-yy’

块的嵌套
PL/SQL块可以嵌套,嵌套层次没有限制

     declarev_name varchar2(30) := '外层块';begindeclare v_name varchar2(30) :='内层块';begin dbms_output.put_line(v_name);

这篇关于Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143611

相关文章

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]