首页 > 数据库 >Oracle PL / SQL变量

Oracle PL / SQL变量

时间:2024-07-03 18:29:17浏览次数:16  
标签:变量 数据类型 date SQL Oracle TYPE PL

变量是PL / SQL程序中特定数据类型的内存中的命名位置。

我们必须在PL / SQL块的声明部分声明它们。

变量命名

PL / SQL变量必须遵循标识符命名规则:

变量名称的长度必须小于31个字符。

变量名称必须以大写或小写ASCII字母开头:AZ或az。

PL / SQL不区分大小写。

变量名称可以由1个字母,后接最多29个字母,数字或下划线(_)字符组成。

您还可以使用数字#和美元符号$字符。

命名变量时,我们可以使用以下约定:

对下表中列出的每种数据类型使用双字符前缀。

前缀数据类型
c_CURSOR
d_DATE
n_NUMBER
r_ROW
t_TABLE
v_VARCHAR2

下面的代码显示了如何创建变量名。

n_id 
v_name 
d_birth_date 
v_gender 

以下代码显示如何声明变量

DECLARE
  birthday   DATE; 
  emp_count  SMALLINT := 0; 
  pi         REAL := 3.14; 
  radius     REAL := 1; 
  area       REAL := pi * radius**2; 
BEGIN 
  NULL; 
END; 
/ 

变量声明

要声明变量,请键入变量名,后跟以分号结束的数据类型定义;

下面的代码展示了如何做变量声明部分。

declare
     n_id number;
     v_name varchar2(100);
     d_birth_date date;
     v_gender varchar2(30); 
begin
     ... 
end; 

用于声明前面的变量的DDL语法如下:

<variable_name> <data_type>; 

其中<variable_name>是变量的名称,<data_type>是PL / SQL数据类型之一。

要声明变量保存值或保存到数据库,请在PL / SQL代码中使用%TYPE。

可变锚点

锚指向使用关键字%TYPE将PL / SQL数据类型定义“锚定”到相应的SQL数据类型定义。

以下代码是使用列定位点声明的表AUTHORS的PL / SQL变量的示例。

n_id         AUTHORS.id%TYPE; 
v_name       AUTHORS.name%TYPE; 
d_birth_date AUTHORS.birth_date%TYPE; 
v_gender     AUTHORS.gender%TYPE; 

用于声明前面的变量的语法如下:

<variable_name> <table_name>.<column_name>%TYPE; 

其中<variable_name>是变量的名称,<table_name>是用于锚定数据类型的表的名称,<column_name>是用于锚定数据类型的列的名称。

变量赋值

要为PL / SQL中的变量分配文本值,请使用赋值运算符:=

以下代码显示如何使用赋值运算符。

declare
     ... 
begin
     n_id := 40;
     v_name := 'STEVEN FEUERSTEIN';
     d_birth_date := to_date('20000101', 'YYYYMMDD');
     v_gender := 'M'; 
end; 

上面的代码使用literial为变量赋值。

数字文字是一个没有任何格式的数字,例如400。

字符文字是由一对单引号'字符(例如“java2s.com”)括起来的字符串。

要将恒定值分配给DATE类型的变量,请使用内置函数,

to_date(aiv_date in varchar2, aiv_date_format in varchar2)

我们还可以通过在SQL SELECT语句中使用INTO子句为变量赋值。

 CSDN:程序猿 寄语:
1、作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。
2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。
3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。
4、程序不是年轻的专利,但是,他属于年轻。
5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
6、一个好汉三个帮,程序员同样如此。

标签:变量,数据类型,date,SQL,Oracle,TYPE,PL
From: https://blog.csdn.net/licun110/article/details/140091348

相关文章

  • Oracle PL / SQL文字
    文字是一个显式的数字,字符,字符串或BOOLEAN值。例如,数字14和BOOLEAN FALSE是两个文字。数字字面量我们可以在算术表达式中使用两种类型的数字文字:整数和实数。整数字面值是一个可选的有符号整数,不带小数点。例如:36-141123+32767实数字面值是带小数点的......
  • Oracle PL / SQL数据类型
    PL/SQL是SQL的过程语言扩展,它支持与SQL对数据库相同的数据类型。PL/SQL可以处理任何数据库数据类型,并且还有自己的数据类型。VARCHAR2:我们将使用数据类型VARCHAR2处理PL/SQL中的字符串。PL/SQLVARCHAR2最多可容纳32,767个字符。NUMBER:我们将使用数据类型NUMBER处......
  • 技术分享:了解 Spring Boot 启动类 SpringApplication
    在学习上述SpringBoot核心功能的过程中,相信大家可能都会尝试启动自己新建的SpringBoot的项目,并Debug看看具体的执行过程。本篇开始就将从SpringBoot的启动类SpringApplication上入手,带领大家了解SpringBoot启动过程中所涉及到的源码和知识点。先来看看run方......
  • 实战篇——SQL注入sqli-labs-master靶场实战三
    实战篇——SQL注入sqli-labs-master靶场实战(3)sqlmap基础用法GET型:POST型:请求头注入(以User-Agent注入为例):爆库:pythonsqlmap.py-rC:\Users\yaogu\Desktop\sqlmap\request\1.txt--threads10--dbs爆表:pythonsqlmap.py-rC:\Users\yaogu\Desktop\sqlmap......
  • Oracle数据库统计信息收集
    Oracle数据库统计信息收集重新收集表统计信息--重新收集表统计信息BEGINDBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'ORCL',TABNAME=>'XXX',ESTIMATE_PERCENT=>100,DEGREE=>4);END;重新收集列统计信息......
  • windows的桌面docker安装mysql5.7
    dockerrun-p3306:3306--namemysql^-vE:/mysql/data:/var/lib/mysql^-vE:/mysql/conf:/etc/mysql/conf.d^-vE:/mysql/log:/var/log/mysql^-eMYSQL_ROOT_PASSWORD=123456^-dmysql:5.7命令解析:dockerrun-p3306:3306--namemysql:创建一个docker容......
  • 小白也能懂的Mysql数据库索引详解
    核心概念主键索引/二级索引聚簇索引/非聚簇索引回表/索引覆盖索引下推联合索引/最左联合匹配前缀索引explain一、[索引定义]1.索引定义在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现......
  • Oracle临时表on commit preserve rows和on commit delete rows区别
    Oracle临时表:在Oracle中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有功能才用的,而当你用完之后表中的数据就没用了。Oracle的临时表创建之后基本不占用表空间,如果你没有指定临时表(包括临时表的索引)存放的表空的时候,你插入到临时表的数据是存放......
  • Plugin开发基本知识点 Plugin Pipeline Pre-Validation, Pre-Operation, Post-Operati
    在MicrosoftDynamics365插件开发中,插件可以注册在不同的事件管道阶段,这些阶段决定了插件的执行时机。常见的三个阶段是预验证(Pre-Validation)、预操作(Pre-Operation)和后操作(Post-Operation)。每个阶段都有其特定的用途和执行顺序。以下是对这三个阶段的详细解释及其用法:1.Pre-Va......
  • Plugin开发基本知识点 IPluginExecutionContext, iOrganization Service
    IPluginExecutionContext`IPluginExecutionContext`接口在MicrosoftDynamics365插件开发中用于获取有关当前插件执行上下文的信息。它提供了丰富的属性和方法,帮助开发者在插件执行时获取与当前操作相关的各种数据和元数据。以下是`IPluginExecutionContext`的一些主要功能和属......