千家信息网

4.PL_SQL——变量声明以及初始化,字符串分隔符

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,一、变量的作用PL/SQL既然是编程语言,就必然会用到变量。和其他程序语言类似,PL/SQL中的变量主要有以下作用:1. 用来临时的存放数据;2.用来操作数据;3. 重复使用数据。例如上一节中举的例子
千家信息网最后更新 2024年11月19日4.PL_SQL——变量声明以及初始化,字符串分隔符

一、变量的作用

PL/SQL既然是编程语言,就必然会用到变量。和其他程序语言类似,PL/SQL中的变量主要有以下作用:1. 用来临时的存放数据2.用来操作数据;3. 重复使用数据。

例如上一节中举的例子,就用到了变量:

DECLARE

v_fnameVARCHAR2(20);

-- 声明变量

BEGIN

SELECT first_name

INTO v_fname

-- SELECT语句查询到的数据存放到变量v_fname

FROM employees

WHERE employee_id = 100;

DBMS_OUTPUT.PUT_LINE('The result is ' || v_fname);

-- 使用存放在变量v_fname中的数据

END;

二、变量的命名规则

PL/SQL中命名规则主要有:

1. 必须以字母开头;

2. 可以包含字母和数字;

3. 可以包含特殊字符,如$, _#。注意, _可以使用,但$#最好尽量不用,因为在其他编程语言中很少允许使用$#,为了养成良好的编程习惯,最好不要使用这两个符号;

4. 变量的长度最好不要超过30个字符;

5. 不能使用关键字和保留字。

三、变量的使用方法

PL/SQL中变量的用法如下:

1. 变量需要在DECLARE部分定义;变量可以在DECLARE部分初始化,也可以不初始化,视程序需要而定。

2. 在执行部分,即BEGIN部分赋新值和使用;

3. 可以作为参数用在子程序中;

4. 也可以用来存放程序的输出结果。

下面来结合之前用到的例子,演示变量的用法:

SQL> edit

DECLARE      v_fname VARCHAR2(20);--声明了变量v_fname,但没有初始化   BEGIN      SELECT first_name      INTO v_fname-- 变量v_fnam 用来存放SELECT语句的查询结果      FROM employees      WHERE employee_id = 100;      DBMS_OUTPUT.PUT_LINE('Theresult is ' || v_fname);-- 变量v_fnam作为参数被传递到方法中   END;   /
The result is StevenPL/SQL procedure successfullycompleted.


四、声明和初始化变量

变量需要声明,初始化则可以在声明时进行,也可以不在此时进行,但是如果声明时定义为not null的情况下,就必须初始化才能使用。

变量声明的格式为:

Identifier [CONSTANT]datatype [NOT NULL] [ := | DEFAULT expression ]

这里中括号中的内容都是可选项,具体含义如下:

1. CONSTANT表示常量,一旦定义为常量,则不能在为该变量赋其他的值了;

2. 如果定义了[NOT NULL],则该变量必须赋值;

3. PL/SQL中赋值使用的是 :=,初始化时也可以使用DEFAULT来定义默认值。

来看几个具体的例子:

        DECLARE            v_hiredate  DATA;             --此处只声明没有初始化            v_deptno    NUMBER(2) NOT NULL := 10;             -- 声明时定义为 NOT NULL,所以必须为其初始化,赋值为10,也可以写成             -- v_deptno   NUMBER(2) NOT NULL DEFUALT 10;            v_location   VARCHAR2(13) := 'atlanta'             -- 声明的的同时也初始化            c_comm     CONSTANT  NUMBER  := 1400;             --声明时定义为常量,意味着以后不能再为其赋其他的值了


下面来看两个例子:

1.

SQL> DECLARE

      v_myName VARCHAR(20);                -- 只声明,没有初始化   BEGIN      DBMS_OUTPUT.PUT_LINE('My name is: ' || v_myName);                -- 使用的是未初始化的变量v_myName      v_myName := 'John';                -- 为变量v_myName 赋值      DBMS_OUTPUT.PUT_LINE('My name is: ' || v_myName);                -- 使用的是赋值后的变量  END;

SQL> /

Myname is:                -- 由于没有初始化,故没有结果Myname is: John                -- 赋值后使用变量,能显示该变量的值PL/SQLprocedure successfully completed.

2.

SQL>

   DECLARE      v_myName VARCHAR2(20) := 'John';                -- 声明变量的同时为其初始化   BEGIN      DBMS_OUTPUT.PUT_LINE('My name is: ' || v_myname);                -- 注意,这里故意将变量写成小写,以验证PL/SQL中不区分大小写   END;   /
Myname is: JohnPL/SQLprocedure successfully completed.

五、字符串分隔符

在打印输出结果时经常会用到引号,但是单引号'有时候也作为分割符使用,如I'm这种情况,为了避免混淆,PL/SQL中使用了q来进行分隔符的引用:q表示quotes,加上单引号',后面接任意成对的符号,都可以起到引用的单引号作用。看下面这个例子:

SQL> edit

   DECLARE      v_event VARCHAR2(15);   BEGIN      v_event := q'!Father's day!';       -- 这里使用q',然后加上成对的!,就可以避免把分隔符'当成单引号      DBMS_OUTPUT.PUT_LINE('3rd Sunday in June is :' || v_event);      v_event := q'[Mother's day]';       -- 成对的特殊符号都可以,这里使用的是一对中括号[]      DBMS_OUTPUT.PUT_LINE('2nd Sunday in May is :' || v_event);   END;

SQL> /

3rdSunday in June is :Father's day2ndSunday in May is :Mother's dayPL/SQLprocedure successfully completed.


变量 例子 引号 数据 结果 部分 分隔符 字符 作用 常量 最好 程序 符号 语言 编程 特殊 两个 参数 同时 字母 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何用工控机代替串口服务器 四川笑顺到家网络技术 一年没玩王者怎么找回所在服务器 学校宿舍区域与办公区域网络安全 查看当前数据库中表的语句 铁路网络安全事件分为 做网络安全销售考证 内蒙网络安全监察报案 中文科学技术期刊数据库 游戏中的服务器是什么 进博会网络安全保障承诺书 北京视频安防软件开发哪家好 中国台湾超频服务器大概费用 网络技术与软件专业 腾讯的服务器价值多少 北京互联网运营科技有限公司 国家网络技术人才与创新基地 远程服务器什样才能不掉线 软件开发工作任务描述 国家网络安全工作的四个坚持 erp软件开发法律合同 学校数据库怎么进啊 上网行为管理系统服务器区域 齐软软件开发 软件开发代做图片 挂机服务器搭建 金蝶服务器一定要用电信网络吗 服务器保存密码怎么清除 国家网络技术人才与创新基地 西安大学网络安全专业怎么样
0