oracle编程基本语法,oracle编程基础语法

oracle数据开发

编程结构:  declare

[定义变量]

begin

[逻辑代码]

exception

[捕获异常]

end;

实例:

declare

a number:=1;

b number:=2;

c number;

begin

c:=(a*b)/(a+b);

dbms_output.put_line(c);

exception

when zero_divide then

dbms_output.put_line('除数不能为0');

end;

变量:

长度不能超过30个字符不能含有空格,表的字段长度也是;

由字母、0-9数字、下划线、美元符号‘$’ 以及#号组成

必须由字母开头

关键字能作为变量,如if 等

基础数据类型

实例:

param number default 104;

%type变量

%type是声明一个与指定的列名相同的数据类型;

优点:用户不必查看表中的数据类型,即可确保数据类型与范围与表中的数据类型一致;

如果对表中的数据结构修改,对编写的程序没有影响,程序的变量会随结构变化而变化

缺点:执行的时候解析%type 需要查询数据词典,确定数据类型,可能会对性能产生影响

实例:

var_name emp.ename%type;

复合变量

%rowtype变量;

%rowtype声明一个与指定的表名相同的行类型;相当于定义一个和指定表相同的数据结构踢类型

保存一行数据

实例:

row_employee emp%rowtype

自定义变量:

声明格式

type record_name record(

file_name date_type [not null] [:=default_value],

...

file_namen date_type [not null] [:=default_value]

)

根据用户需求定制数据变量,类似C语言的结构体

实例:

type user_type record(

user_no number,

user_name nvarchar2(10)

);

user user_type;

分支

if..then.. 语句

if 条件 then

处理语句

end if;

if..then.. 语句

if 条件 then  处理语句  else 处理语句 end if;

if..then.. 语句

if 条件 then 处理语句

elsif 处理语句

else

处理语句

end if;

case条件语句

case

when 条件 then 处理语句;

when 条件 then 处理语句;

when 条件 then 处理语句;

end;

if var_param > 0 then

dbms_output.put_line('var_param 的值大于0');

end if;

if var_param > 0 then

dbms_output.put_line('var_param 的值大于0');

else dbms_output.put_line('var_param 的值小于或等于0');

end if;

if var_param = 0 then

dbms_output.put_line('var_param 的值等于0');

elsif var_param = 1 then

dbms_output.put_line('var_param 的值等于1');

else

dbms_output.put_line('var_param 的值不等于1或0');

end if;

case

when var_param = 0 then dbms_output.put_line('var_param 的值等于0');

when var_param = 1 then dbms_output.put_line('var_param 的值等于1');

when var_param = 2 then dbms_output.put_line('var_param 的值等于2');

end

循环语句

loop

处理语句

exit when 退出循环条件

end loop

while 循环语句

while 循环条件

loop

处理语句

end loop;

for循环

for 变量 in 变量集合 loop

处理语句

end loop;

loop

var_param:=var_param+1 --自增

exit when var_param>10 --当var_param的值大于10时推出循环

end loop;

while var_param <= 10 --当var_param的值小于等于10时进入循环

var_param:=var_param+1 --自增

end loop;

for var_param in 1..10 --当var_param的值小于等于10时进入循环

loop

var_param:=var_param+1 --自增

end loop;

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

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

相关文章

java8optional_关于Java 8的Optional的介绍

java8optional我最近发现了JDK 8中Optional类型的添加。 Optional类型是避免NullPointerException一种方法&#xff0c;因为从方法中获取Optional返回值的API使用者被“强制”执行“在线”检查&#xff0c;以消耗其实际返回值。 更多细节可以在Javadoc中看到。 可以在此博客文章…

python大文件排序_python实现按创建时间对文件排序

测试中&#xff0c;测试log是经常需要保存一段时间以便于后续查询&#xff0c;但是如果一段时间不删除&#xff0c;会导致硬盘空间变小而影响自动化测试&#xff0c;通常空间太小&#xff0c;自动化测试case就不能调用了&#xff0c;或者即使调用&#xff0c;可能会引起新测试的…

oracle存储过程深入,深入了解oracle存储过程的优缺点

定义&#xff1a;存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集&#xff0c;经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象&#xff0c;任何一个设计良好的数据库应用程…

如何在Java 8中使用LocalDateTime格式化/解析日期-示例教程

Java项目中的常见任务之一是将日期格式化或解析为String&#xff0c;反之亦然。 解析日期表示您有一个表示日期的字符串&#xff0c;例如“ 2017-08-3”&#xff0c;并且要将其转换为表示Java中日期的对象&#xff0c;例如Java 8之前版本中的java.util.Date以及LocalDate或Loca…

如何获取当前刀具号_数控刀具的选用原则,如何使用数控刀具?一文全面介绍数控刀具...

数控刀具选用概述学习数控相关知识&#xff0c;最基础的是认识和了解刀具的材料以及选用原则&#xff0c;我们应当了解数控刀具的种类及特点、如何正确选择和使用数控加工刀具&#xff1b;学会根据被加工材料来合理选择数控刀具的材料和切削参数。选用原则&#xff1a;数控车床…

Java命令行界面(第27部分):cli-parser

CLI Parser最初托管在Google Code上&#xff0c;现在已存档在Google Code上 &#xff0c;现在可以在GitHub上使用 。 归档的Google Code项目页面将CLI解析器描述为“使用非常简单&#xff0c;非常小的依赖项”&#xff0c;它使用注释“使非常简洁的主要方法不需要知道如何解析带…

linux系统中如何安装qwt,linux下Qt开发环境中qwt库的安装与使用

qwt的安装与使用安装好qt开发环境后&#xff0c;先去下载qwt库源代码。以我下载的qwt-6.0.1.zip为例&#xff0c;解压得到qwt-6.0.1。1.安装qwt-6.0.1执行下面的命令&#xff1a;1 cd qwt-6.0.12 qmake3 make4 make install这样就完成qwt-6.0.1的安装了&#xff0c;安装的路径是…

moxy json介绍_MOXy的对象图和动态JAXB

moxy json介绍JAXB&#xff08;JSR-222&#xff09;使您可以轻松地将域类的实例转换为XML。 EclipseLink MOXy实现提供了一个称为Dynamic JAXB的扩展&#xff0c;在其中&#xff0c;您可以使用诸如DynamicEntity之类的映射实例代替真实的类​​。 您可以使用采用属性名称的get和…

linux 查看服务器作业,linux – 如何在服务器负载较低时运行作业?

我有一个运行磁盘快照的命令(在EC2上,冻结XFS磁盘并运行EBS快照命令),该命令设置为作为cron作业定期运行.理想情况下,如果在任务计划运行时磁盘被大量使用,我希望能够将命令延迟一段时间.我担心使用nice / ionice可能没有正确的效果,因为我希望脚本在运行时以高优先级运行(即等…

wordcloud python3.6能用吗_Python3.6环境下安装wordcloud模块遇到的问题及解决办法

“error: Microsoft Visual C 14.0 is required…”问题解决今天在Python 3.6环境中&#xff0c;制作词云&#xff0c;需要安装wordcloud模块&#xff0c;在安装的过程中遇到了“error: Microsoft Visual C 14.0 is required…” 的问题&#xff0c;很是烦恼&#xff0c;最后找…

使用基本身份验证来保护Spring Boot REST API

这是我的Spring Boot Blog帖子系列的第三篇文章。 在第一篇文章中&#xff0c;我谈到了我使用Spring Boot创建RESTFul Services的经验。 然后我将样本扩展到 与Swagger文档集成 。 在这篇文章中&#xff0c;我将在安全方面扩展上述示例。 什么是API安全性 API安全性广泛&…

使用2.26内核的linux,介绍linux 2.6.9-42内核升级到linux 2.6.26-42的方法

介绍linux 2.6.9-42内核升级到linux 2.6.26-42的方法来源&#xff1a;互联网作者&#xff1a;佚名时间&#xff1a;2013-04-10 13:32这篇升级Linux内容的文章&#xff0c;是基于Red Hat的Linux版本&#xff0c;从linux 2.6.9-42内核升级到linux 2.6.26-42的方法&#xff0c;对于…

python xlwt xlrd 写入一行_自己总结python用xlrd\xlwt读写excel

1.首先安装xlrd\xlwt模块xlrd模块下载地址:https://pypi.python.org/pypi/xlrdxlwt模块下载地址:https://pypi.python.org/pypi/xlwtlinux 安装命令 python setup.py installwindos 安装命令 setup.py install2.使用方法大全基础方法推荐请看这里:http://blog.csdn.net/mr__fan…

linux时间路径,关于linux中的时间 时区问题

本文部分来源于&#xff1a; http://hi.baidu.com/peruke/blog/item/b8de06ec6a04583b27979132.html系统是fedora&#xff1a;glibc实现了从RTC时间到人可读时间的一个转换&#xff0c;一般系统不适用 环境变量TZ进行时区的设置&#xff0c;因为环境变量存在一些缺陷&#xff…

Java命令行界面(第1部分):Apache Commons CLI

尽管我通常使用Groovy编写要从命令行运行的JVM托管脚本&#xff0c;但是有时候我需要解析Java应用程序中的命令行参数&#xff0c;并且有很多库可供Java开发人员用来解析命令行参数。 在本文中&#xff0c;我将介绍这些Java命令行解析库中最著名的一种&#xff1a; Apache Comm…

python自带的idle输入python_打开python自带IDLE出的问题

打开python自带IDLE编辑器时出的问题IDLE cant bind to a TCP/IP port, which is necessary tocommunicate with its Python execution server. This might bebecause no networking is installed on this computer. Run IDLEwith the -n command line switch to start without…

linux 虚拟机新增磁盘,linux(虚拟机)下新增磁盘配置

Linux的硬盘识别:(1)”fdisk -l”命令可以列出系统中当前连接的硬盘设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息.(2)创建新硬盘分区命令参数&#xff1a;fdisk可以用m命令来看fdisk命令的内部命令&#xff1b;a&#xff1a;命令指定启动分区&#xff1b;d&#xf…

丙烯怎么做成流体丙烯_韧性好强度高的聚丙烯复合材料怎么做?让人工智能来帮忙...

01背景介绍聚丙烯(PP)是一种应用广泛的通用塑料&#xff0c;价格便宜、力学性能好、热稳定性高&#xff0c;在机械、汽车、电子电器、建筑、纺织、包装和食品工业等领域应用广泛。聚丙烯韧性和冲击强度不高&#xff0c;限制了它的应用。加入热塑性弹性体(TPE)&#xff0c;如苯乙…

1.x到2.x的迁移:可观察与可观察:RxJava FAQ

标题不是错误。 rx.Observable 1.x的io.reactivex.Observable与2.x的io.reactivex.Observable完全不同。 盲目升级rx依赖关系并重命名项目中的所有导入将进行编译&#xff08;稍作更改&#xff09;&#xff0c;但不能保证相同的行为。 在项目的早期&#xff0c; Observable in …

linux 线程 拷贝,linux下实现多线程拷贝命令

实现多线程拷贝命令,如&#xff1a;./multithread_copy srcfile destfile N(拷贝线程个数)难点&#xff1a;内存映射mmap。给每一个线程合理的分配任务。多线程的实现。具体的实现代码如下&#xff1a;/********************************************************************…