先前安装了PL/SQL软件

PL/SQL全称为Procedural Language/SQL。

PL/SQL也是一种程序语言,叫做过程化SQL语言,是Oracle数据库对SQL语句的扩展

打PL/SQL软件后

新建Command Window

输入ed便会打开一个编辑框。ed全称估计为Editr的缩写

PL/SQL程序结构分为3部分,共四个关键字:declare,begin,exception和end

四个关键词正好将程序结构分成三部分。

declare:声明部分,程序中所需要的变量或者常量都在此声明,类似于Java类中的成员变量与常量
begin:程序入口,程序开始执行的地方,相当于C语言中main()函数位置
exception:异常处理部分,相当于Java异常处理中的try...catch.  PL/SQL中使用的是when...then...异常处理部分也可嵌套
end:程序结束部分
程序框架如下:

declare
--变量声明部分
begin
--程序开始入口
exception
--异常处理部分
end;
--程序结束

--为注释符  相当于java中的行注释 //
首先开始一门语言的学习,第一个简单程序当然就是helloworld。

步骤如下:

1.在PL/SQL软件中新建了Command Window后 输入ed 然后回车,打开e编辑器

2.在编辑器中输入如下代码:

begin
    dbms_output.put_line('helloword!');
end;

3.点击ok后输入 / 然后回车,若没有错误则会在屏幕中打印出helloworld! 字符串

需要注意的是:
由于本程序只是单纯的输出一条语句,所以不需要变量的声明declare部分可以省去
由于不会出现异常,所以exception部分必须省去,不然会报错
注意end最后的那个分号,严格遵守语法规则。
可见输入语句为dbms_output.put_line();相当于Java中的System.out.println();
理解就行

接下来将使用PL/SQL语言操作数据库
这里我使用时系统自带的一个数据库
EMP
含有如下几个字段
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
首先使用SQL查询员工编号为7369的工资 语法如下
select SAL from EMP where EMPNO = 7369;
执行结果如下
 
      SAL
---------
   800.00

接下来使用PL/SQL语言查询步骤如下:
输入ed回车,打开edit然后输入如下代码:

declare
  v_sal varchar2(10);
begin
  select SAL into v_sal from EMP where EMPNO = 7369;
  dbms_output.put_line(v_sal);
end;

分析如下:
在declare部分声明一个变量v_sal类型为varchar并使其长度为20
这里值得说明的是PL/SQL中与SQL查询语句中不同的是select语句
SQL语句中select语句为 select 列名 from表名 where 条件
PL/SQL语句中select语句为 select 列名 into 变量名 from 表名 where 条件
举例说明:查询员工编号为7369的工资 两种语法如下
SQL: select SAL  from EMP where EMPNO = 7369;
PL/SQL: select SAL into v_sal from EMP where EMPNO = 7369;

运行结果一样

需要说明的是declare部分中定义的变量大小必须比数据库中数据类型的大小 大,不然定义的变量装不下数据库中数据,就会报错。

还有一种简单做法就是 :
v_sal EMP.SAL%type;
 即将数据类型动态的定义成与数据库中的数据类型一致,这样数据库中数据变动也不会影响到程序中变量的修改
即 v_sal这个变量的数据类型与EMP表下的SAL字段的数据类型一致。

若有多个变量需要操作:查询员工编号为7369的ENAME JOB,SAL
代码如下:
declare
  v_ename EMP.ENAME%type;
  v_job EMP.JOB%type;
  v_sal EMP.SAL%type;
begin
  select ENAME,JOB,SAL into v_ename,v_job,v_sal from EMP where EMPNO = 7369;
  dbms_output.put_line(v_ename||','||v_job||','||v_Sal);
end;

运行便可查询出所需信息
由代码可见 输出语句中输出多个变量时 || 相当于Java中的 +

转载至:http://blog.csdn.net/chance2015/article/details/50409557

PL/SQL基础语法入门的更多相关文章

  1. pl/sql基础语法

  2. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

  3. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  4. PL/SQL基本语法

    *2.PL/SQL基本语法   1)匿名块   一段不能在数据库存储的PL/SQL. 基本结构如下:   DECLARE     //变量的声明定义区域(可省略)   BEGIN     //业务处理 ...

  5. Oracle pl/sql 基础入门语法

    PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块.每块由三个子部分组成:1     声明 此部分开头使用关键字DECLARE.它是一个可选的部分,并限定在该程序中使用的 ...

  6. pl/sql基础知识—过程快速入门

    n  过程 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数可以将执行部分的数据传递 ...

  7. Oracle数据库之PL/SQL基础

    介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...

  8. Oracle实战笔记(第六天)之PL/SQL基础

    一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语 ...

  9. pl/sql基础知识—定义并使用变量

    n  介绍 在编写pl/sql程序是,可以定义变量和常量:在pl/sql程序中包括有: ①标量类型(scalar) ②复合类型(composite) ③参照类型(reference) ④lob(lar ...

随机推荐

  1. 深圳同城快跑笔试题目 2 实现json字符串保存到本地硬盘

    //从给定位置读取Json文件 public static String readJson(String path){ //从给定位置获取文件 File file = new File(path); ...

  2. 动态规划——Russian Doll Envelopes

    这个题大意很好理解,通过例子就能明白,很像俄罗斯套娃,大的娃娃套小的娃娃.这个题是大信封套小信封,每个信封都有长和宽,如果A信封的长和宽都要比B信封的要大,那么A信封可以套B信封,现在给定一组信封的大 ...

  3. look back to 2018

    只写展望怎么行,还是缺一篇总结.2018年几乎没有怎么发朋友圈,需要一些文字记录一下这一年发生的事. 去年的现在,2018年的开端,结束了研一上学期充实的生活,下学期一项艰巨的任务就是完成大项目,一个 ...

  4. APM和PIX飞控日志分析入门贴

    我们在飞行中,经常会碰到各种各样的问题,经常有模友很纳闷,为什么我的飞机会这样那样的问题,为什么我的飞机会炸机,各种问题得不到答案是一件非常不爽的问题,在APM和PIX飞控中,都有记录我们整个飞行过程 ...

  5. MyBatis3系列__06查询的几点补充

    关于查询的一点补充: 当查询部门信息时,希望查询该部门下的所有员工,下面会采取两种方式实现: 1.联合查询 public Department getDeptWithEmpById(Integer i ...

  6. 从Excel导数据到MySQL速度优化

    运行环境: Windows10 和 Deepin15.7, MySQL14.4, Java1.8.0_181使用工具: poi,JDBC数据规模: 35万条,5个文件夹,146个Excel文件(.xl ...

  7. Egret获取和显示时间,年,月,日,时分秒

    let now = new Date(); this.nowYear = now.getFullYear(); this.nowMonth = now.getMonth() + 1; let noww ...

  8. Tomcat手动部署Web项目详细步骤

    阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...

  9. NOIP-火柴棒等式

    题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 1. 加号与等 ...

  10. Logstash导入数据到ElasticSearch

    一:在Windows环境 1 下载解压Logstash的压缩包 2 在Logstash的压缩包中安装Logstash-jdbc-input插件: 在Bin命令行下运行命令: .\logstash-pl ...