C/C++教程

Oracle 相关基础1-变量

本文主要是介绍Oracle 相关基础1-变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
PL/SQL表示SQL的过程式语言扩展(Procedural Language Extension to SQL)。 通过添加任何高级语言所拥有的编程结构和子程序, PL/SQL实现了对SQL的扩展 PL/SQL可用于服务器端(Oracle数据库)和客户端(Oracle Forms等)开发 PL/SQL不是独立的编程语言,它是Oracle RDBMS的一部分
c/s c:客户端 s:服务器端 b/s b:浏览器 s:服务器端
语法: declare -- 这一部分可以省略,如果没有变量的情况下,可以不写 -- 声明部分: 普通变量(v_) 变量类型: number varchar2 char date .... (); --声明时可以不给值,也可以给值,也可以在执行体里可以修改 常量(c_) constant 值; -- 常量一但声明,不能更改 ,也就是在执行体里不能重新变更值 -- 给变量赋值 := ; 不能用 = 号 begin -- 执行部分 select ename from emp ; -- 条件判断 -- 循环语句 exception -- 异常部分 end;
begin null ; -- 什么也不执行,相当于一个占位符 end ; -- 打印输出 begin dbms_output.put_line('A') ; -- 执行块 end ; -- put_line 和 put 的区别 begin dbms_output.put('A'); -- 执行块 dbms_output.put('B'); -- 执行块 dbms_output.put('C'); -- 执行块 dbms_output.put('D'); -- 执行块 dbms_output.put('E'); -- 执行块 dbms_output.put_line(''); end ;
-- 普通声明变量 declare v_ename1 varchar2(30); --不赋值 v_ename2 varchar2(30) := 'aaa'; -- 赋值 begin dbms_output.put_line(v_ename1); dbms_output.put_line(v_ename2); end ;
-- 普通声明变量 执行块中修改值 declare v_ename1 varchar2(30); --不赋值 v_ename2 varchar2(30) := 'aaa'; -- 赋值 v_empno number; begin v_ename1 := 'sql哥'; v_ename2 := '爽哥'; v_empno := 123; dbms_output.put_line(v_ename1); dbms_output.put_line(v_ename2); dbms_output.put_line(v_empno); end ;
-- 普通声明变量 执行块中修改值 declare v_ename1 varchar2(30); --不赋值 v_ename2 varchar2(30) := 'aaa'; -- 赋值 v_empno number; begin v_ename1 := 'sql哥'; v_ename2 := '爽哥'; v_empno := 123; dbms_output.put_line(v_ename1 || ' ' || v_ename2 || ' ' || v_empno); end ;
-- 声明常量,必须要给初始值: constant 常量 declare v_empno number := 123; c_pi constant number:= 3.1415926; begin dbms_output.put_line(v_empno); dbms_output.put_line(c_pi); end ;
-- 修改常量: constant 常量 declare v_empno number := 123; c_pi constant number:= 3.1415926; c_pi_1 constant number; --报错 常数 'C_PI_1' 的声明必须包含初始赋值 begin v_empno := 2222; c_pi := 3.14; -- 报错 表达式 'C_PI' 不能用作赋值目标 dbms_output.put_line(v_empno); dbms_output.put_line(c_pi); dbms_output.put_line(c_pi_1); end ;
-- %type:  从某一张表中获取表中某一个字段类型 语法:    declare       变量 表.字段%type ;    begin    end ;
-- 例1.从emp表中获取ename字段类型 declare   a varchar2(30) ;   -- b varchar2(30);   b emp.ename%type ;  -- 自动接收表中的字段类型及长度 begin   dbms_output.put_line(a || b); end ;
-- 例2.从emp表中获取ename字段类型,并赋值 declare   a varchar2(30) := 'abc';   b emp.ename%type := 'SMITH' ; begin   dbms_output.put_line( a || b );     end ;
-- 例3.从emp表中获取字段类型 declare    v_ename emp.ename%type := 'SMITH';    v_empno emp.empno%type := 7400; begin   dbms_output.put_line(v_ename || v_empno); end ;

-- 记录类型(复合类型) 语法: -- 将单个变量进行一个封装    declare      -- 当前只是声明了一个记录类型      type 类型名 is record(        变量1 类型 ,        变量2 表.字段%type ,        变量3 类型 ,        变量4 表.字段%type      );           -- 必须要声明一个变量,来接收记录类型     变量 类型名;    begin          end ;
-- 例1.声明一个记录类型,并使用 declare type rec_1 is record(    v1 varchar2(30) := 'a',    v2 emp.ename%type ,    v3 number ,    v4 emp.empno%type ); v_emp rec_1;
begin   dbms_output.put_line(v_emp.v1);       end ;
-- %rowtype 类型(可以获取一张表中所有字段类型) 语法:   declare     变量 emp%rowtype ;   begin     使用变量类型:     变量.字段   end ;
-- 例1. 通过 %rowtype 获取emp表中所有字段类型 declare   v_emp emp%rowtype ; begin   v_emp.empno := 1234;   v_emp.ename := 'simth';   dbms_output.put_line(v_emp.empno || v_emp.ename); end ;
这篇关于Oracle 相关基础1-变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!