plsql 只读_PLSQL的数据类型

本文详细介绍了PLSQL的数据类型,包括标量、LOB类型、复合类型如%TYPE和%ROWTYPE,以及如何使用这些类型进行数据操作。通过示例展示了大对象读取、复合类型绑定、游标和自定义记录类型的应用。
摘要由CSDN通过智能技术生成

/******************************** 001 PL/SQL 数据类型 ****************************************/

/**

1 数据类型

2 结构

3 存储过程

4 函数

5 游标

6 异常处理

7 触发器

8 包

9 JAVA - ORACLE

*/

/**

1 数据类型

(1)PLSQL支持所有的SQL数据类型

(2)标量:数值、字符、布尔、日期时间

1>. number 包括(decimal、float、integer、real)

2>. oracle11g新加入一种数据类型:SIMPLE_INTEGER 范围(-2147483648 ~ +2147483647)

数据类型不为空.对于此数据类型,ORACLE可以将这个数据类型的操作直接作用于硬件,从而提高性能。

3>. 字符型:SQL: char(长度2000)/varchar2(长度4000) PLSQL: 长度都是32767

4>. boolean (逻辑判断 true、false、null)

v_num1 := 50;

v_num2 := 60;

v_bool := (v_num1 < v_num2);

5>. 日期时间(DATE、TIMESTAMP)

(3)LOB类型(最大可存储4G),用于存储大文本、图像、视频剪辑和声音剪辑等非结构化数据。

BLOB(二进制对象存储)

CLOB(大文本字符)

NCLOB(存储UNICODE字符)

BFILE(讲二进制存储在操作系统中,只读)

(4)复合类型

%TYPE 引用变量和数据库列的数据类型一致

%ROWTYPE 提供表示表中一行的记录类型

(5)对于常量 就是需要用CONSTANT关键字声明并且一定要初始化值 形如: c_salary_rate CONSTANT NUMBER(7,2) := 0.25;

*/

-- 001 大对象读取示例:(示例准备)

/**

CREATE TABLE MY_BOOK(

CHARTER_ID NUMBER,

CHARTER_TEXT CLOB

);

INSERT INTO MY_BOOK (CHARTER_ID, CHARTER_TEXT) VALUES('5','oracle11g新加入一种数据类型:SIMPLE_INTEGER 范围(-2147483648 ~ +2147483647)

数据类型不为空.对于此数据类型,ORACLE可以将这个数据类型的操作直接作用于硬件,从而提高性能');

SELECT * FROM MY_BOOK;

-- drop table my_book;

*/

DECLARE

v_clob CLOB;

v_amount INTEGER;

v_offset INTEGER;

v_outdata VARCHAR2(1000);

BEGIN

SELECT M.CHARTER_TEXT INTO v_clob FROM MY_BOOK M WHERE M.CHARTER_ID = '5';

v_amount := 300;

v_offset := 1;

dbms_lob.read(v_clob, v_amount, v_offset, v_outdata);

dbms_output.put_line(v_outdata);

END;

-- 002 复合类型

-- %TYPE(列类型)

DECLARE

v_ename EMP.ENAME%TYPE; --与emp表中的ename类型相同

BEGIN

SELECT E.ENAME INTO v_ename FROM EMP E WHERE E.ENAME = 'SMITH';

DBMS_OUTPUT.put_line(v_ename);

END;

--%TYPE绑定某一列

DECLARE

v_empno emp.empno%TYPE;

v_ename emp.ename%TYPE;

v_hiredate emp.hiredate%TYPE;

BEGIN

SELECT empno, ename, hiredate INTO v_empno, v_ename, v_hiredate FROM emp WHERE empno='7369';

dbms_output.put_line('员工编号:' || v_empno);

dbms_output.put_line('员工姓名:' || v_ename);

dbms_output.put_line('入职日期:' || v_hiredate);

END;

--使用%ROWTYPE定义游标类型的变量

DECLARE

CURSOR cur_emp

IS

SELECT E.EMPNO, E.ENAME, E.JOB FROM EMP E; --使用%rowtype定义游标类型的变量

v_emprow cur_emp%ROWTYPE;

BEGIN

OPEN cur_emp;

LOOP

FETCH cur_emp INTO v_emprow;

--注意退出游标

EXIT WHEN cur_emp%NOTFOUND;

dbms_output.put_line(v_emprow.empno || ' ' || v_emprow.ename || ' ' || v_emprow.job);

END LOOP;

END;

--自定义记录类型

/**

--定义一个记录类型

--定义了一个my_record变量

declare

type emp_record_type is record(name emp.ename%type, salary emp.sal%type);

--定义一个my_record变量 这个变量的类型是emp_record_type

my_record emp_record_type;

*/

DECLARE

--自定义类型

TYPE emp_record_type IS RECORD(

NAME emp.ename%TYPE,

salary emp.sal%TYPE,

title emp.job%TYPE);

--变量接受自定义类型

emp_record emp_record_type;

--执行程序

BEGIN

SELECT E.ENAME, E.SAL, E.JOB INTO emp_record FROM EMP E

WHERE EMPNO = '7788';

DBMS_OUTPUT.put_line('雇员名:' || emp_record.name);

END;

-- 表类型(索引表)

/**

PL/SQL表只有俩列,一个索引列和一列(一列不代表一个字段)

通过索引列中的索引值来操作PL/SQL表中对应的用户自定义列.

declare

--定义了一个pl/sql表类型my_table_type, 该类型是用于存放emp.ename%type

type my_table_type is table of emp.ename%type

--索引列必须是binary_integer类型的

index by binary_integer

--定义了一个my_table变量,这个变量的类型是 my_table_type

my_table my_table_type

*/

DECLARE

TYPE ename_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER;

ename_table ename_table_type;

BEGIN

SELECT ename INTO ename_table(1) FROM emp WHERE empno = 7788;

dbms_output.put_line(ename_table(1));

END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PL/SQL Developer是一款适用于Oracle数据库开发和管理的工具,它提供了丰富、高效的程序开发环境,支持快速开发和维护PL/SQL代码。此版本为PL/SQL Developer的第15个版本,支持64位的操作系统。在使用PL/SQL Developer进行开发时,可以通过它的多种功能提高开发的效率和质量,如代码自动完成、可视化调试、代码审计等,在开发和维护大型、复杂的应用程序时尤为实用。此外,PL/SQL Developer还支持多国语言,方便了不同国家的开发者进行使用。总之,PL/SQL Developer是一款强大而实用的Oracle数据库开发工具,能够使开发者更加轻松地进行PL/SQL程序设计和调试。 ### 回答2: PL/SQL Developer是一款功能强大、易于使用的集成开发环境(IDE),专门用于开发Oracle数据库应用程序,并支持64位系统。它支持在一个IDE中同时编辑、编译、调试和运行PL/SQL代码,提供了代码自动完成、语法高亮、代码折叠、版本控制等功能,让编写PL/SQL代码变得更加高效、快捷。 PL/SQL Developer还拥有强大的调试功能,可以逐行调试代码、设置断点、查看变量的值等,帮助开发人员快速定位和解决问题。同时它也支持SQL语句的编写和调试,方便开发人员进行SQL优化。 总之,PL/SQL Developer是一款强大的工具,既适用于初学者,也能够满足专业开发人员的需求,是开发Oracle数据库应用程序的不二之选。而64位支持让它可以更好地发挥性能优势,提高开发效率。 ### 回答3: PL/SQL Developer是一款针对Oracle数据库的存储过程和SQL语句编辑器。plsqldev_15_64位则是指PL/SQL Developer的版本号为15,且是64位系统的可执行文件。 PL/SQL Developer的最新版为21.0.1.2513,可支持Windows、Linux、Mac OS等多种操作系统。该软件提供了强大的编辑、调试、优化等功能,可用于编写、测试、调试Oracle数据库中的存储过程、触发器、函数等代码。同时,它还内置了许多实用的工具,如SQL解析器、依赖分析器、代码差异对比器等,方便开发人员提高开发效率。 plsqldev_15_64位版本是PL/SQL Developer 15的一个子版本,适用于运行在64位系统的电脑上。该版本相较于32位版本在访问内存等方面拥有更高的优势,能够更好地提高软件的稳定性和性能,计算机运行速度更快。 总之,PL/SQL Developer是一款强大的Oracle数据库开发工具,而plsqldev_15_64位版本则是其适用于64位系统的版本,可提供更好的性能和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值