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

plsq程序设计--定义变量

SQL 
阅读更多
变量声明规则
变量名称不能使用保留关键字,建议变量统一使用v_开头
第一个字符必须是字母
变量名最多包含30个字符
不要与数据库的表或者列同名
每行只能声明一个变量

常用变量类型
binary_integer:整数,用来计数
number:数字类型
char:定长字符串
varchar2:变长字符
date:日期
long:长字符串,最长2g
boolean:布尔类型,可以取值:true、false、null

变量声明示例
declare
    v_temp number(1);
    v_count binary_integer := 0;
    v_sal number(7,2) := 4000.00;
    v_date date := sysdate;
    v_pi constant number(3,2) := 3.14;
    v_valid boolean := false;
-- 可以在声明变量时,指定非空或其他属性
    v_name varchar2(20) not null := 'MyName';
/* 
 %type属性:根据emp表的empno字段来规定v_empno变量的长度,
并且v_empno的长度自动随着emp表的empno字段的长度改变而改变
*/
    v_empno emp.empno%type;
    v_empno2 v_empno%type;
begin
-- dbms_output.put_line不可以输出boolean类型的变量
    dbms_output.put_line('v_date value:' || to_char(v_date,'yyyy-mm-dd'));

end;


record-变量类型


declare
-- record-变量类型,有点类似于java的类的概念
    type type_record_dept is record
    (
        deptno dept.deptno%type,
        dname dept.dname%type,
        loc dept.loc%type
    );
    -- 声明一个"type_record_dept变量类型"的变量v_temp
    v_temp type_record_dept;
begin
    v_temp.deptno := 50;
    v_temp.dname := '张三';
    v_temp.loc := '山东';
    dbms_output.put_line(v_temp.deptno || ' ' || v_temp.dname);
end;




使用%rowtype声明record变量
使用%rowtype后边加上表明,那么该变量就会自动根据表的列定义好n个内部变量,
并且内部变量的属性,数量会根据表的改变自动改变。


declare
--将v_type的内部变量按照dept表的列自动建立
    v_type dept%rowtype;
begin
    v_temp.deptno := 50;
    v_temp.loc := '北京';
    v_temp.dname := '王五';
    dbms_output.put_line(v_temp.deptno || ' ' || v_temp.dname);
end;    


复合类型table--数组

定义方法:
type 变量名称(v_table_x表_x字段) is table of 类型 index by binary_integer;
示例:
declare
--定义一个type_table_emp名称的table类型,该变量类型为emp表empno字段类型,使用binary_integer作为下标
  type type_table_emp_empno is table of emp.empno%type index by binary_integer;
--定义一个type_table_emp_empno类型的变量v_empnos
  v_empnos type_table_emp_empno;
begin
  v_empnos(0) := 7369;
  v_empnos(2) := 7839;
--下标可以使用负数
  v_empnos(-1) := 9999;
  dbms_output.put_line(v_empnos(-1));
end; 
分享到:
评论

相关推荐

    PLSQL程序设计-存储过程函数触发器

    ### PL/SQL程序设计——存储过程、函数与触发器 #### 概述 PL/SQL是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵功能和传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂...

    PLSQL高级编程-结构化编程

    在声明部分,我们定义变量、游标、常量和子程序。执行部分是PLSQL的主要工作区,用于编写业务逻辑。异常处理部分则用于捕获和处理运行时错误。 二、流程控制结构 1. 条件语句:IF-THEN-ELSIF-ELSE 和 CASE 语句用于...

    plsql-oracle-instantclient-x86-64-11.2.0.1.0

    它包含了连接到Oracle数据库所需的关键库文件,允许开发人员和管理员在不安装完整Oracle客户端的情况下执行SQL查询、PL/SQL程序以及数据操作。"plsql-oracle-instantclient-x86-64-11.2.0.1.0" 是一个特定版本的...

    Oracle PLSQL程序设计

    ### Oracle PL/SQL程序设计详解 #### 一、PL/SQL概述 PL/SQL(Process Language for SQL)是一种专门用于Oracle数据库的过程性编程语言,它将过程性语言的特点与SQL的强大功能结合在一起,使得开发者能够编写更为...

    PLSQL Developer 12-32位+中文+注册机

    PLSQL Developer是一款专为Oracle数据库管理系统设计的集成开发环境(IDE),主要用于编写、调试、测试和管理PL/SQL代码。这个软件版本是12-32位,特别为中国用户提供了中文界面,使得中国用户在使用过程中能更方便...

    PLSQL程序设计手册

    本手册《PLSQL程序设计》深入浅出地介绍了如何利用PLSQL进行高效、安全的数据库编程。 在PLSQL中,程序员可以编写存储过程、函数、触发器、游标等,这些是数据库应用的核心组成部分。了解并掌握PLSQL,对于数据库...

    PLSQL简易教程学过以后plsql不愁

    本文将讲述 PLSQL 基础语法,结构和组件、以及如何设计并执行一个 PLSQL 程序。 PLSQL 的优点 ---------------- PLSQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令。...

    PLSQL编程规范-v1.0.docx

    **PL/SQL编程规范** PL/SQL编程规范是Oracle数据库开发中的重要组成...通过定义和实施这些规范,可以创建出更健壮、更易于维护的数据库应用程序。这不仅有助于当前的开发工作,也为未来的项目提供了一个坚实的基础。

    plsql程序设计 plsql程序设计

    ### PL/SQL程序设计知识点详解 #### 一、PL/SQL概述 **PL/SQL** (Procedural Language for SQL) 是一种专为 Oracle 数据库设计的高级编程语言。它结合了 SQL 的数据操纵能力与传统编程语言的过程控制功能,使得...

    第11章 PLSQL语言介绍-计科-两次课.pptx

    1. **PL/SQL程序设计简介** - PL/SQL被设计用来解决SQL的局限性,通过引入过程化编程元素,如循环、条件语句、异常处理等,来应对更复杂的数据库操作。 - PL/SQL集成在数据库服务器内部,能够高效地处理数据,并且...

    PLSQL程序设计PLSQL程序设计.ppt

    在上述例子中,声明部分定义了游标、变量和初始值;执行部分包含了循环、条件判断和数据处理;异常处理部分则针对可能出现的错误进行捕获和处理。 **变量类型**: PL/SQL提供了多种变量类型,如: - BINARY_INTEGER...

    PLSQL应用程序开发

    #### 四、PLSQL程序设计基础 - **基本语法**:了解PLSQL的基本语法是编写有效程序的基础。 - **变量和常量**:掌握如何声明和使用变量及常量对于编写逻辑清晰的程序至关重要。 - **条件语句**:`IF-ELSE`结构用于...

    PLSQL程序设计(pdf格式)

    这本书《PLSQL程序设计》显然是一个深入理解PLSQL语法、功能和应用的优秀资源,适合SQL初学者以及希望提升在Oracle数据库中开发能力的程序员。 在PLSQL中,我们首先会接触到基础的语法结构,如声明变量、常量和游标...

    PLSQL程序设计

    在"PLSQL程序设计"中,我们将深入探讨如何在不同环境中高效地访问和操作Oracle数据库。 一、PLSQL基础 PLSQL由三部分组成:声明部分(DECLARATION)、执行部分(EXECUTION)和异常处理部分(EXCEPTION HANDLING)。...

    Oracle8i PLSQL 高级程序设计.pdf

    ### Oracle8i PL/SQL 高级程序设计 #### 1. 引言 Oracle8i PL/SQL 是一种专为 Oracle 数据库设计的高级编程语言,它将 SQL 的强大功能与过程化编程语言的特点相结合,提供了一种高效且灵活的方式来处理数据库中的...

    plsql--编程进阶

    - **变量**:可以在程序运行过程中被修改。 **2.2 数据类型** - **基本数据类型**:包括数值类型、字符类型和日期类型等。 - **复合数据类型**:包括数组、记录等。 **2.3 表达式和函数** - **表达式**:由常量...

Global site tag (gtag.js) - Google Analytics