oracle中怎么加变量 oracle使用变量

oracle pl/sql中如何使用变量

定义并使用变量

十多年的沁水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整沁水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“沁水网站设计”,“沁水网站推广”以来,每个客户项目都认真落实执行。

PL/SQL有四种类型:标量类型,复合类型,引用类型 (reference),LOB(Large Obejct)类型

一、标量类型

最常用的就是标量类型,是指只能存放单个数值的变量,包括数字类型、字符类型、日期类型和布尔类型,每种类型又包含相应的子类型。

常量标量类型如下:

VARCHAR2 (n) , CHAR (n), NUMBER (p,s),DATE, TIMESTAMP , LONG , LONG RAW ,BOOLEAN,BINARY_INTEGER(仅 PL / SQL使用),BINARY_FLOAT和BINARY_DOUBLE(10g新引入的)

定义标量:

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

使用标量需要注意的是=号被:=取代,与delphi一样的赋值符号@_@

例子:

v_name VARCHAR2 ( 10 );

v_rate CONSTANTS NUMBER ( 4 , 2 ) : = 3.04 ;

为了防止定义的变量类型与表中的字段类型不一致,可以使用%TYPE来定义:

v_name employee.name % TYPE;

如上面所示,v_name的类型就与表 employee中的name字段类型一样!!

二、复合变量:

用于存放多个值的变量称为复合变量,包括PL/SQL记录,PL/SQL表,嵌套表和VARRAY四种类型

1.PL/SQL记录

类似于C/C++中的结构概念:

declare

TYPE employee_record is RECORD(

id employee.id % TYPE,

name employee.name % TYPE,

email employee.email % TYPE);

em_record employee_record;

begin

select id,name,email into em_record from employee where name = name;

dbms_output.put_line( ' 雇员名: ' || em_record.name || ' 雇员ID: ' || em_record.id);

end ;

2.PL/SQL表,类似于数组概念,不同的是PL/SQL表允许负值下标,而且没有上下限,如:

declare

TYPE employee_table is table of employee.name % TYPE index by BINaRY_INTEGER;

em_table employee_table;

begin

select name into em_table( - 1 ) from employee where name = name;

dbms_output.put_line( ' 雇员名: ' || em_table( - 1 ));

end ;

3.嵌套表,与PL/SQL 表相似,不同的是嵌套表可以做表列的数据类型,而PL/SQL表不能,使用嵌套表作为表列时,必须为其指定专门的存储表,如:

create or replace TYPE emp_type as OBJECT(name VARCHAR2 ( 10 ),salary NUMBER ( 6 , 2 ),hiredate DATE);

CREATE OR REPLACE TYPE emp_array IS TABLE OF emp_type;

CREATE TABLE department(

deptno NUMBER ( 2 ),dname VARCHAR2 ( 10 ),

employee emp_array)NESTED TABLE employee STORE as employee_dept;

4.VARRAY(变长数组),与嵌套表相似,也可以做为表列的数据类型,但是嵌套表没有个数限制,而VARRAY有个数限制,如:

CREATE TYPE TEST_ARRAY IS VARRAY(20) OF emp_type;

三、引用变量(reference)

类似于C++中的指针或者JAVA中引用的概念,用于存放数值指针的变量,使用此变量,可以使得应用程序共享相同对象,降低占用空间。此类有两种类型:游标(REF CURSOR)和对象类型(REF OBJECT)

1.REF CURSOR,定义时同时指定SELECT语句的游标称为显式或者静态游标,在打开时才指定SELECT语句的游标称为动态游标,如:

DECLARE

TYPE c1 IS REF CURSOR ;

emp_cursor c1;

v_name employee.name % TYPE;

v_sal employee.salary % TYPE;

begin

open emp_cursor for

SELECT name,salary FROM EMPLOYEE ;

LOOP

FETCH emp_cursor INTO v_name,v_sal;

EXIT WHEN emp_cursor % NOTFOUND;

dbms_output.put_line(v_name);

END LOOP;

close emp_cursor;

end ;

2.REF OBJECT,与JAVA的引用概念相同,存储的是指向对象的指针

四、LOB类型

LOB类型是指用于存储大批量数据的变量,包括内部的3种(CLOB,BLOB,NCLOB)和外部LOB(BFILE)。

CLOB,NCLOB用于存储大量的字符数据。

BLOB用于存储大批量二进制数据(如图象)。

BFILE则存储指向OS文件的指针。

oracle插入变量到表中

将insert 语句写在end之前,这是个plsql的匿名块,insert语句应该包含在其中。

怎么在linux中配置oracle的环境变量?

需要设置Oracle_HOME和ORACLE_SID两个环境变量,再把ORACLE的bin目录添加到PATH中即可,通常缺省安装的情况下:

ORACLE_SID=orcl

ORACLE_HOME=/home/oracle/oracle/product/10......这样的形式

操作步骤:

1、su oracle并回车切换到oracle用户;

2、cd并回车回到oracle用户目录;

cd /home/oracle

ls -a

3、vi .bash_profile并回车编辑该文件,按I键进入插入状态,在最后加入以下行:

export ORACLE_SID=orcl

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

输入完毕后按ESC键退出vi编辑状态,

输入:wq并回车存盘退出。

注销所有oracle用户,再使用oracle登录即可。

注意输入wq前面有个:冒号,先输入这个:就可以在编辑器最底端输入命令了。

如何设置Oracle的环境变量

oracle的环境变量是不需要配置的

Path环境变量中加入oracle的app路径D:\app\xxx\product\12.1.0\dbhome_1\bin

然后在系统变量中添加字符集NLS_LANG,设为与oracle一样的字符集,一般为AMERICAN_AMERICA.ZHS16GBK

如何向oracle数据库中插入整型变量

插入数据分为两种情况,一种是用insert into ...values 的语法,一种是用insert into select ...的语法。 举例: 如test表中有如下数据: 插入一条id为6,name为杨七的数据。 insert into test values (6,'杨七');commit;此时表中数据为

oracle存储过程中如何对一个变量累加赋值 最好有个例子

1、首先打开oracle数据库,如下图所示。

2、在Oracle中,对于函数的变量赋值,通常有三种方法来进行处理,直接赋值的方法,可以在声明变量的时候直接给变量进行赋值。

3、其次,可以使用SELECT语句对变量进行赋值,主要是SELECT INTO语句,如下代码示例,将变量v_minvar赋予Min(t.sal)的值。

4、最后就是动态SQL语句赋值了,如下代码。


分享题目:oracle中怎么加变量 oracle使用变量
本文路径:http://azwzsj.com/article/hjspjs.html