`
小小程序猿
  • 浏览: 10534 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

PL/SQL

 
阅读更多
SQL语言的全称是结构化查询语言。(structure query language)
PL/SQL语言是结构化程序设计语言。
快(block)是PL/SQL程序的最基本的结构。主要有以下几部分构成:

declare--标记声明部分
begin--标记程序体部分开始
exception--标记异常处理部分开始
end--标记程序体部分结束

eg:
1:
set serveroutput on;--命令设置环境变量serveroutput 为打开状态,从而使能够在sql*plus中输出结果
begin
dbms_output.put_line('XXXX');--可以输出参数的值(不能打印布尔类型的值)
end;
2:
declare                                        declare
v-name varchar2(20);                           v_num number :=0;
begin                                begin                          
v_name :='myname';                      v_num =2/ v_num ;   
dbms_output.put_line(v_name);          dbms_output.put_line(v_num);
end                                     exception
                                        when others then
                                      dbms_output.put_line('error');
                                          end;
1:变量的声明
             命名的规则
             变量的类型:binary _interger  整数值,主要用来计数
                         boolean    布尔类型,可以为true/false/null
2:复合数据变量定义
%type
    %type提供一种利用其它变量的数据类型(or数据表中列出的数据类型)来定义变量的方法。
格式如下:
          变量名   (已被定义的)变量名%type;
or
         变量名    数据表名。列名%type;


复合数据变量1:record(有点类似于类)

declare
type type_record is record
(
    deptno dept.deptno%type,
    dname  dept.dname%type,
    loc   dept.loc%type
);
v_temp  type_record ;
begin
v_temp.deptno :=50;
v_temp.dname  :='aaa';
.............
end;


%rowtype
declare
v_temp dept%rowtype;
begin
v_temp.deptno :=50;
v_temp.dname  :='aaaa';
..........
end;


利用%rowtype也可以实现和上述record一样的功能。因为%rowtype是定义的变量获得整个记录的数据类型。
其定义格式为:
              变量名  数据表名%rowtype

复合数据变量2:
table类型  (类似于数组)
eg:

declare
type type_table_emp_empno is table of emp.empno%type index by binary_interger;
v_empnos  type_table_emp_empno;
begin
v_empnos(0) :=XXXX;
v_empnos(2) :=XXXX;
v_empnos(-1) :=XXXX;
dbms_output.put_line(v_empnos(-1));
end;
--相当于定义了一个数组

3:SQL语句在PL/SQL里面的运用
1:在PL/SQL里面使用 select,必须返回一条记录(有且仅有一条)。
eg:
declare
v_name emp.ename%type;
v_sal  emp.sal%type;
begin
select ename,sal into v_name,v_sal from emp where empno=7369;--返回一条记录(而且必须用到into)
end;


declare
v_temp emp%rowtype;
begin
select * into v_temp from emp where empno=7369;
end;

2:
   insert into xxx values('xxx');
   commit;提交
3:
  update emp set sal=sal/2 where deptno=v_deptno;
  select count(*) into v_count from emp;
  dbms_output.put_line(sql%rowcount||'条记录被影响');
  commit;
  


























分享到:
评论

相关推荐

    一个对数据库的操作工具PL/SQLpl/sqL工具

    PL/SQL是Oracle公司开发的一种过程化语言,全称为Procedural Language/Structured Query Language,它是SQL的一个扩展,专门用于处理Oracle数据库系统。这个“PL/SQL工具”显然是一个用于辅助管理和操作Oracle数据库...

    oracle10g_pl/sql

    Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...

    pl/sql developer11.0

    PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...

    pl/sql最新中文手册

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...

    oracle 9i pl/sql程序设计笔记

    ### Oracle 9i PL/SQL程序设计笔记精要 #### PL/SQL基础知识概览 **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。...

    Oracle PL/SQL程序设计(第5版)(上下册)

    ### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...

    pl/sql快捷插件

    PL/SQL Developer是一款由Allround Automations公司开发的专门用于Oracle数据库管理的集成开发环境(IDE)。这款软件为Oracle数据库管理员、开发人员和测试人员提供了便捷的SQL和PL/SQL编写、调试和执行功能。而“pl...

    pl/sql64位

    PL/SQL是Oracle数据库系统中的一个关键组件,全称为Procedural Language/Structured Query Language,是一种结合了SQL和过程编程语言的工具,主要用于编写数据库应用程序。64位的PL/SQL开发者工具对于那些处理大数据...

    PL/SQL VCS插件安装包+PL/SQL

    PL/SQL VCS插件是为开发者提供的一种增强工具,它与PL/SQL Developer整合,目的是为了更好地管理和控制Oracle数据库中的SQL脚本和存储过程的版本。这个安装包结合了Version Control System (VCS)的功能,如Visual ...

    PL/SQL 基本知识

    PL/SQL是Oracle数据库系统中的一个核心组件,全称为“Procedural Language/Structured Query Language”,它是SQL的扩展,增加了编程元素,使得开发者能够编写存储过程、函数、触发器等数据库应用程序。这篇博客主要...

    PL/SQL User's Guide and Reference (官方CHM)

    PL/SQL, Oracle's procedural extension of SQL, is an advanced fourth-generation programming language (4GL). It offers modern features such as data encapsulation, overloading, collection types, ...

    pl/sql 免安装,绿色版pl/sql

    PL/SQL Developer是一款高效、便捷的Oracle数据库管理工具,尤其适合DBA和开发人员使用。免安装的绿色版PL/SQL Developer使得用户无需经历复杂的安装过程,只需解压即可使用,大大简化了软件部署,方便在不同的...

    PL/SQL Developer 远程连接Oracle数据库

    PL/SQL Developer是一款专为Oracle数据库设计的集成开发环境,它极大地简化了PL/SQL语言的编写、调试和管理任务。远程连接Oracle数据库是PL/SQL Developer的一项关键功能,允许用户在本地计算机上操作和管理远程...

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    oracle pl/sql从入门到精通 配套源代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    PL/SQL下载

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程编程的语言,专为数据库管理和应用程序开发设计。PL/SQL全称为“Procedural Language/Structured Query Language”,它提供了丰富的控制...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...

    Oracle Database 12c PL/SQL开发指南 实例源代码

    PL/SQL是Oracle专为数据库管理设计的一种过程化编程语言,它结合了SQL查询语言的威力与高级编程语言的灵活性,使得数据库开发者能够创建复杂的应用程序逻辑。 在"Oracle Database 12c PL/SQL开发指南(第7版)"这...

    PL/SQL开发文档1

    标题中提到的“PL/SQL开发文档1”,说明本文档是关于PL/SQL开发的入门级指导材料,面向希望学习使用PL/SQL进行数据库程序单元开发的用户。文档很可能是Oracle公司内部或其授权的培训机构用于教学目的的官方材料。 ...

Global site tag (gtag.js) - Google Analytics