PL/SQL的变量

PL/SQL的变量:

变量类型:

1.系统内置的常规简单变量类型: 比如大多数 数据库表的字段类型都可以作为变量类型;

2.用户自定义复杂变量类型: 比如记录类型;

3.引用类型:保存了一个指针值;

4.大对象类型( LOB):保存了一个指向大对象的地址;

语法:  identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr];

说明:

1.变量命名建议遵循通用规则,比如v_name 表示一个变量,c_name表示一个常量;

2.一般建议每一行声明一个变量,这样程序的可读性比较好;

3.如果声明了变量,但未进行初始化,则在没有赋值之前该变量的值为NULL; 一个好的编程习惯是对所有声明 的变量进行初始化赋值;

4.在同一个块中,避免命名与数据库表中的字段名相同的变量。

常规类型的变量声明举例:

1.标量数据类型  

前面在建表时,学习过Oracle SQL的数据类型,PL/SQL不但支持这些数据类型,还具备自身的数据类型。如下图:

  

  

2.属性数据类型

当声明一个变量的值是数据库的一行或者是数据库的某列时,可以直接使用属性类型来声明。ORACLE有两种属性数据类型:%TYPE和%ROWTYPE

%ROWTYPE:引用数据库表中的一行作为数据类型,可以使用" . " 来访问记录中的属性。

实例:

%TYPE

引用某个变量或者数据库的列的类型作为某变量的数据类型,identifier Table.column_name%TYPE;

实例:

可绑定变量(Bind Variable 也称为Host Variable , 非PLSQL 变量):

可绑定变量是一种在缩主环境中定义的变量,所谓缩主环境一般指示SQLPLUS执行环境或者是 PLSQL Developer 的Command Window执行环境;可绑定变量可用于在运行时把值传递给PLSQL, 创建语法: VARIABLE return_code NUMBER VARIABLE return_msg VARCHAR2(30) 大家注意,在标准的PLSQL中定义变量是不能用VARIABLE关键字的,此关键字只在SQLPLUS执行环境中有效, 可使用PRINT语句输出变量内容。 在PLSQL中使用这种变量时,前面加”:”, 以示区分。

时间: 2024-10-26 10:51:51

PL/SQL的变量的相关文章

PL/SQL——编程——变量定义

1.变量标量类型(scalar)复合类型(composite)参照类型(reference)lob(large object) --定义一个变长字符串v_ename VARCHAR2(10)--定义一个小数,范围-9999.99~9999.99v_sal NUMBER(6,2)--定义一个小数,并给初始值5.4,:=是plsql的赋值符v_sal2 NUMBER(6,2):=5.4--定义一个日期类型v_hiredate date--定义一个布尔量,不能为空,初始值为falsev_valid B

PL/SQL编程—变量

SQL> declare 2 c_tax_rate number(3,2):=0.03; 3 v_name varchar2(20); 4 v_passwd varchar2(20); 5 v_sale number(7,2); 6 v_tax_sale number(7,2); 7 begin 8 select name,passwd,salary into v_name,v_passwd,v_sale from mytest where id=&inpt; 9 v_tax_sale:=v

PL/SQL复合变量

复合变量可以将不同数据类型的多个值存储在一个单元中.由于复合类型可以由用户自己根据需要定义其结构,所以复合数据类型也称为自定义数据类型. 在PL/SQL中,使用%TYPE声明的变量类型与数据表中字段的数据类型相同,当数据表中字段数据类型修改后,PL/SQL程序中相应变量的类型也自动随之改变. 如EMP表中有一个ENAME字段,其数据类型为VARCHAR2(30),声明变量v_name用来存放ENAME字段的数据,声明如下: v_name emp.ename%TYPE; 则变量v_name的数据类

PL/SQL编程--变量声明及赋值

declare v_price number(10,2);--单价 v_usenum number;--水费字数 v_usenum2 number;--使用吨数 begin v_price:=2.45;--每吨单价 v_usenum := 10000000; v_usenum2 := round(v_usenum/1000,2); DBMS_OUTPUT.put_line('金额为:'||(v_price*v_usenum2)); end; 原文地址:https://www.cnblogs.co

Oracle PL/SQL编程之变量

注: 以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁. 1.简介 和大多数编程语言一样,在编写PL/SQL程序时,可以定义常量和变量,在pl/sql程序中包括有: a.标量类型(Scalar) b.复合类型(Composite) c.参照类型(Refrence) d.lob(large object)类型 下面来一一介绍 2.标量(Scalar)类型  ---常用类型 在编写pl/sql语句时,如果需要用到变量,那么就需要在定义部分定义变量.pl/sql中定义变量个常量的语

PL/SQL 02 声明变量 declare

语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr] identifier:用于指定变量或常量的名称.CONSTANT:用于指定常量.当定义常量时,必须指定它的初始值,并且其数值不能变.datatype:用于指定变量或常量的数据类型.NOT NULL:用于强制初始化变量(不能为NULL).当指定 NOT NULL 选项时,必须要为变量提供数值.:= 用于为变量和常量指定初始值.DEFAULT:用于为常量和变量指定初始值.

二十四、oracle pl/sql 变量

一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(reference) --用于操作多条记录4).lob(large object) 二.标量(scalar)——常用类型1).在编写pl/sql块时,如果要使用变量,需在定义部分定义变量.pl/sql中定义变量和常量的语法如下:identifier [constant] datatype [not null]

PL/SQL概述

PL/SQL全面支持SQL的数据操作,完全支持SQL数据类型,减少了在应用程序和数据库之间转换数据的操作. 构成一个PL/SQL程序的基本单位是程序块.PL/SQL程序块在执行时不必逐条在网络上传送SQL语句去执行,而是作为一组SQL语句的整体发送到Oracle.当程序第一句以DECLARE或BEGIN开头时,系统会自动识别出是PL/SQL语句.PL/SQL在SQLPLUS中运行时,当遇到斜杠时才提交数据库执行,而不像SQL命令,遇到分号就执行. 为了提高程序的可读性,Oracle建议用户按照以

[Oracle系列整理04] oracle pl/sql 基础

PL/SQL块中只能直接嵌入SELECT,DML(INSERT,UPDATE,DELETE)以及事务控制语句 (COMMIT,ROLLBACK,SAVEPOINT),而不能直接嵌入DDL语句(CREATE,ALTER,DROP)和DCL语句 (GRANT,REVOKE) 1.检索单行数据    1.1使用标量变量接受数据  v_ename emp.ename%type;  v_sal   emp.sal%type;  select ename,sal into v_ename,v_sal fro