Oracle之PLSQL

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)它是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算,使SQL语言具有过程处理能力。PL/SQL
只有 Oracle 数据库有。

一个PL/SQL程序结构

declare

说明部分   (变量说明,光标申明,例外说明)

begin

语句序列    (DML语句)……

exception

例外处理语句

end;

这里说一下变量的问题:

var1        char(15);--说明变量名、数据类型和长度后用分号结束说明语句。

married     boolean:=true;--用“:=”表示等号“=”,用“=”表示“==”。

my_name     emp.ename%type;--引用型变量,即my_name的类型与emp表中ename列的类型一样

emp_rec     emp%rowtype;--记录型变量

记录型变量分量的引用:emp_rec.ename:=‘adams‘;

一个例子演示下PLSQL:按员工的工种涨工资,总裁1000元,经理800元,其他人涨400元。

declare
  cursor cemp is select empno,empjob from emp;
  pempno emp.empno%type;
  pjob   emp.empjob%type;
begin
  rollback;
  open cemp;
  loop
    --取一条记录
    fetch cemp into pempno,pjob;
    exit when cemp%notfound;

    --判断职位
    if pjob = 'PRESIDENT' then update emp set sal=sal+1000 where empno=pempno;
      elsif pjob = 'MANAGER' then update emp set sal=sal+800 where empno=pempno;
      else update emp set sal=sal+400 where empno=pempno;
    end if;

  end loop;
  close cemp;  

  commit;

  dbms_output.put_line('完成');
end;
/

没涨之前:

涨之后:

把SQL语言的数据操纵能力与过程语言的数据处理能力结合起来,使得PLSQL面向过程但比过程语言简单、高效、灵活实用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 10:43:08

Oracle之PLSQL的相关文章

Oracle 中PLSQL的ftp应用

CREATE OR REPLACE PACKAGE BODY ftp AS -- -------------------------------------------------------------------------- -- Name : http://www.oracle-base.com/dba/miscellaneous/ftp.pkb -- Author : Tim Hall -- Description : Basic FTP API. For usage notes se

oracle client PLSQL配置

date:20140525auth:Jin 一.服务端启动服务和创建账号# su - oracle$ lsnrctl start$ sqlplus / as sysdbaSQL> startupSQL> alter user sys identified by admin; #修改sys密码User altered.SQL> create user jin identified by com123; #创建用户SQL> grant connect to jin; #授予用户权限SQ

Oracle客户端+PLSQL Developer实现远程登录Oracle数据库

Oracle数据库功能强大.性能卓越,在造就这些优点的同时,也导致Oracle占内存比较多.针对这个问题,我们如何做到取其精华去其糟粕呢? 解决方案:我们可以在局域网内的服务器上安装庞大的Oracle数据库,在开发人员的PC机上安装Oracle客户端,通过Oracle客户端远程登录Oracle数据库. 操作步骤: 1.我们可以从Oracle官网下载Oracle客户端软件,也可以从百度网盘下载,网盘推荐下载地址:http://pan.baidu.com/s/1kTyZdsz,下载完成后安装: 2.

oracle用plsql登陆出错,提示ORA-12170:TNS:链接超时 --------关闭防火墙试试

oracle用plsql登陆出错,提示ORA-12170:TNS:链接超时 但是使用sqlplus可以连接 ping 本机127.0.0.1 显示一般故障 后关闭防火墙,问题解决.

Oracle在plsql中修改数据

Oracle在plsql中想要修改数据,有两种方式: a.使用rowid+点击锁图标,语句为: select t.*,rowid from T_BIC_PLY_MAIN t; b.使用for update,语句为: select t.* from T_BIC_PLY_MAIN t for update; b方式不太建议使用,for update会锁定表,如果这个锁定会话没有结束或你忘了进行提交,会影响到他人的修改或使用,尤其当你修改的表与其他多张表有关系时,更容易出现问题.详情请看for upd

本地不安装Oracle,使用plsql远程连接数据库

(一)本地不安装Oracle,plsql远程连接数据库 1.首先到Oracle网站下载Instant Client : http://www.oracle.com/us/solutions/index-097480.html 解压之后的文件夹叫:instantclient_11_2.可以放在本地磁盘任意目录下.例如:D:/instantclient_11_2 2.在D:/instantclient_11_2目录下新建目录network,在network目录下再建admin目录,在admin目录下

oracle客户端plsql安装

1.确认版本 自己的操作系统版本(32位还是64位),oracle instant client(oracle客户端版本)和plsql版本 我自己的版本是:oracle客户端版本 64位,plsql 64位. 2.安装oracle客户端版本 下载地址: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 或是在百度上搜: oracle client 64位下载,打开网址后出现 点

oracle使用PLSQL免安装客户端

2. 下载Oracle Instant Client (32-bit) 只需要下载instantclient-basic-nt-11.2.0.3.0.zip就可以了,其它的都是一些根据不同需要扩展的包. 下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html 下载后解压到某一路径,并将该路径添加到系统的环境变量,命名为ORACLE_HOME,将ORACLE_HOME添加到path下,否则会报错 cx_Oracle.Int

Oracle使用——PLSQL的中文乱码显示全是问号

问题 这两天刚将PLSQL与Oracle配置好,可是在PLSQL中插入数据时,出现一个问题,PLSQL中的表里无法显示中文,中文无法保存.无法输出,中文在表中显示问号,如图: 原因 经过一番查证,发现问题的源头不是出现在PLSQL上,而是出现在我们的Oracle上,由于我们的Oracle数据库里的字符集不支持中文导致的,既然知道了原因,就好办了,我们就配置我们的Oracle字符集,让他支持中文. 解决办法 我的Oracle是11g版本的,下面以我的为例,为大家讲解下设置的过程. 步骤一 开始-运