Oracle学习笔记十八:PL/SQL变量类型
2022/6/4 2:20:07
本文主要是介绍Oracle学习笔记十八:PL/SQL变量类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、PL/SQL运算符
类型 | 符号 | 说明 |
赋值运算符 | := | Java 和 C# 中都是等号,PL/SQL 的赋值是 := |
特殊字符 | || | 字符串连接操作符 |
-- | PL/SQL 中的单行注释 | |
/*,*/ | PL/SQL 中的多行注释,多行注释不能嵌套。 | |
<<,>> | 标签分隔符,只为了标识程序特殊位置。 | |
.. | 范围操作符,比如 1..5 标识从 1 到 5 | |
算术运算符 | +,-,*,/ | 基本算术运算符 |
** | 求幂操作,比如:3**2=9 | |
关系运算符 | >,<,>=,<=,= | 基本关系运算符,=表示相等关系,不是赋值。 |
<>,!= | 不等关系 | |
逻辑运算符 | AND,OR,NOT | 逻辑运算符 |
二、PL/SQL变量定义
1)PL/SQL块中变量使用前必须先定义,变量必须定义在DECLARE块中。
2)PL/SQL支持 SQL 中的数据类型,PL/SQL 中正常支持 NUMBER、VARCHAR2、DATE 等 Oracle SQL 数据类型。
3)声明变量必须指明变量的数据类型,也可以声明变量时对变量初始化,变量声明必须在声明部分。声明变量的语法是:
语法格式:声明变量
变量名 数据类型[:=初始值]
DECLARE sname VARCHAR2(20) := 'jerry'; BEGIN sname:=sname||' and tom'; dbms_output.put_line(sname); END;
4)可以通过SELECT……INTO语句为变量赋值:
• 语句从数据库中查询数据对变量进行赋值。
• 查询的结果只能是一行记录,不能是零行或者多行记录。
declare v_name varchar2(20); begin select ename into v_name from emp where empno='1001'; dbms_output.put_line(v_name); exception when others then dbms_output.put_line('异常'); end;
三、PL/SQL变量数据类型
PL/SQL是强类型的语言,使用变量时必须指定变量的数据类型。PL/SQL常见的数据类型有:
• varchar2(length)
• number(n[,m])
• date/timestamp
• long 变长大字符串类型
• boolean 逻辑类型 注意:Oracle SQL 中没有 boolean 类型
• %rowtype 引用数据库表中一行作为数据类型
• %type 引用某一个变量或者数据库表中某一列的类型作为当前变量的类型
四、PL/SQL属性类型
1)%rowtype和%type称之为属性类型:
• 可以使用%type和%rowtype来声明变量,而不必指定特定的数据类型。
• 这两个属性提供了这种方式:在声明变量时,不指定变量的数据类型,而由表/视图列来定义变量。
2)rowtype类型使用:
declare myemp emp%rowtype; begin select * into myemp from emp where empno='1001'; dbms_output.put_line(myemp.ename); exception when others then dbms_output.put_line('异常'); end;
3)type类型使用:
declare v_name emp.ename%type; begin select ename into v_name from emp where empno='1001'; dbms_output.put_line(v_name); exception when others then dbms_output.put_line('异常'); end;
五、PL/SQL记录类型
1)Record类型
该类型可以存储由多个列值组成的一行数据。当使用记录类型的变量时,首先需要定义记录的结构,然后再定义记录类型的变量。我们使用 type 关键字来定义记录类型,其语法为:
type 记录类型名 is record
(
变量1 数据类型,
变量2 数据类型,
……
变量n 数据类型
);
2)Record类型使用:
declare type emp_type is record ( empno emp.empno%type, ename emp.ename%type ); v_emp emp_type; begin select empno,ename into v_emp from emp where empno='1001'; dbms_output.put_line(v_emp.empno || '-' || v_emp.ename); exception when others then dbms_output.put_line('异常'); end;
这篇关于Oracle学习笔记十八:PL/SQL变量类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用
- 2025-01-03混合搜索:用LanceDB实现语义和关键词结合的搜索技术(应用于实际项目)
- 2025-01-03停止思考数据管道,开始构建数据平台:介绍Analytics Engineering Framework