`
wlxt_8436
  • 浏览: 15844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PL/SQL脚本语言赋值语句语法 table和record符合类型用法,选择语句if else 用法 匿名块

阅读更多
(一)、赋值语句语法
    PL/SQL中的赋值使用 :=
    “=”被用作比较操作符
    赋值语句中有一些规则需要遵守:
    字符类型必须使用单引号
    不可以使用group by
    可以使用数学操作符或字符串连接操作符

(二)、PL/SQL脚本语言的变量声明
    (a)、变量必须在declare语句块中声明
         变量声明的语法规则
            Identifier [constant] datatype [not null] [:= | default expr];

         在变量声明时需要遵守一些基本的规则或者规范:
         变量名不能够使用保留字,如from 、   select等
         第一个字符必须是字母(v_)
         变量名最多包含30个字符
         不要与数据库的表或者列同名
         每一行只能声明一个变量


(b)、变量类型

number:数字类型
char:定长字符串
varchar2:变长字符串
date:日期
boolean:布尔类型,可以取值为true、false和null值

     注:如果声明变量的类型想和某一表字段或另一变量一样,且可以动态的跟踪字段类型 的变化,就使用字段或变量的%type属性

(c)、注意事项
      在PL/SQL中,select语句有且只能返回一条记录,否则程序就会出错
      select语句中加into子句,将查询到得数据放入变量中
      PL/SQL中的DML语句
      直接使用
      DML语句起作用或者回退的话,需要显式的调用commit或者rollback
      sql%rowcount属性来记录最后一条SQL语句影响了多少条记录

      使用execute immediate 语句
      必须将DDL语句用单引号引起来

(三)、匿名块:
    PL/SQL的匿名块由四个部分组成
       declare – 可选 声明各种变量或游标的地方。
       begin – 必要 开始执行语句。
      --单行注释语句用两个连在一起的‘-’表示。
      /*多行注释语句,
          可以换行*/
       exception – 可选 出错后的处理。
       end; – 必要(请注意end后面的分号)结束。

(三)、table  record 符合类型
(a)、table 类似数组

    able变量的声明包含两部分,第一部分声明一个包含着具体类型的table类型,然后再用这个具体的类型去声明一个变量
       type type_name is table of data_type index by binary_integer;
       identifier type_name;
(b)、record 类似结构体


record变量的声明语法规则
type type_name is record
(field_name1 data_type [not null {:= | default } expr],
field_name2 data_type [not null {:= | default } expr],
…);
identifier type_name;
如果声明变量的类型想和某一表结构一样,且可以动态的跟踪表
结构的变化,就使用%rowtype属性

被%rowtype 给替换了
(c)、示例
declare
  --record  table 变量复合类型
  type emp_record is record(
       ename emp.ename%type,
       job emp.job%type,
       sal emp.sal%type
  );
  emp_info emp_record;
  type str_tab is table of varchar2(10) index by binary_integer;
  v_str str_tab;
begin
  select e.ename, e.job, e.sal into emp_info.ename, emp_info.job, emp_info.sal from emp e where e.empno=7369;
  dbms_output.put_line(emp_info.ename);
  v_str(0) := 'afdfa';
  v_str(1) := 'afewea';
  v_str(3) := 'fej';
  dbms_output.put_line(v_str(3)||'     '||v_str(0));
end ;


(四)、if else 选择语句
declare
  v_num1 number(8,4);
  v_num2 number(8,4);
  v_num3 number(8,4);
  v_sum number(8);
begin
  v_num1 := floor(dbms_random.value * 6) + 1;
  v_num2 := floor(dbms_random.value * 6) + 1;
  v_num3 := floor(dbms_random.value * 6) + 1;
  v_sum := v_num1 + v_num2 + v_num3;
  if v_sum > 12 then -- if  then 之间可以写条件  可以出现 and  or  ()
    dbms_output.put_line('手气不错');
   elsif v_sum > 8 then
    dbms_output.put_line('手气一般');
   else
     dbms_output.put_line('手气不好');
  end if;
end;

分享到:
评论

相关推荐

    Oracle PL/SQL语言初级教程

    PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...

    pl/sql例题代码pl/sql例题代码pl/sql例题代码

    pl/sql例题代码pl/sql例题代码pl/sql例题代码

    PL/SQL 程序设计及SQL语法

    本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要介绍一些贯穿全书的更详细的高级概念,并在本章的最后就我们在本书案例中使用的数据库表的若干...

    PL/SQL免安装版

    在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL免安装版,点击即用,非常方便!

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

    PL/SQL Developer 客户端

    在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有 Oracle 数据库有。 MySQL 目前不支持 ...

    pl/sql developer11.0

    pl/sql developer11.0下载 pl/sql developer11.0下载 pl/sql developer11.0下载

    PL /SQL高级数据库程序设计语言

    本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要介绍一些贯穿全书的更详细的高级概念,并在本章的最后就我们在本书案例中使用的数据库表的若干...

    PL/SQL 程序设计

    PL/SQL 程序设计 本章主要重点:  PL/SQL概述  PL/SQL块结构  PL/SQL流程  运算符和表达式  游标  异常处理  数据库存储过程和函数  包  触发器

    PL/SQL Developer 6.05注册版-1

    <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ====================================== - Fixed some access violations - Inserting a record in the ...

    PL/SQL编程基础知识

    PL/SQL 编程基础知识详解,PL/SQL 包含过程化语句和SQL语句数据操作和查询语句被包含在PL/SQL代码的程序单元中(PL/SQL块),经过逻辑判断、循环等操作完成复杂的功能或者计算.。

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

    从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。《Oracle PL/SQL程序设计(第5版)(套装上下册)》能够帮助...

    精通Oracle 10g SQL和PL/SQL

    通过学习本书 读者不仅可以掌握编写sql语句和pl/sql块的基础知识 而且还可以掌握sql高级特征 正则表达式 flashback查询 merge语句 sql:1999连接 和pl/sql高级特征 记录类型 集合类型 对象类型等  本书不仅适合...

    Oracle_PLSQL语言基础

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...

    基本SQL语句及PL/SQL语句

    SQL基本语句和PL/SQL语句,很多实例,让你一目了然

    PL/SQL Developer9.06

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...

    PL/SqlDeveloper汉化版

    用PL/SQL 是 Oracle公司在标准 SQL 语言上进行一定的扩展而形成的一种数据库语言。它寄托于传统的 SQL 语句,同时又在功能上做了不少的扩充。PL/SQL 有着太多的优势,甚至让SQL 在它面前也黯然失色。 PL/SQL ...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    oracle pl/sql实例精讲student数据库模式

    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, ...

Global site tag (gtag.js) - Google Analytics