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

相关文章

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;