oracle的PL/SQL编程语言(一)入门

(本文章内容仅在windows10下经测试能够运行,不能保证其他环境下的可靠性)

 

PL/SQL语言概念:PL/SQL编程语言是对SQL的扩展,使SQL具有过程化编程的特性,比一般的过程化编程语言更灵活高效,主要用来编写存储过程和存储函数。

 

使用PL/SQL的简单案例代码如下:

--语法 declare...begin...end;
--在declare与begin间声明变量,在begin和end间书写语句
declare
  --声明变量和引用型变量
  --语法1 变量名 数据类型;
  --语法2 变量名 表名.列名%type;
  
  --赋值
  --语法一 变量名 := 值;
  i number(2) := 12;
  i2 number(4);
  s varchar2(10) := 沃兹;
  ena emp.ename%type;
  --声明记录型变量
  --语法 变量名 表名%rowtype;
  emp1 emp%rowtype;
begin
  --输出
  --语法 dbms_output.put_line(值/变量||值/变量||...);
  dbms_output.put_line(i);
  dbms_output.put_line(s);
  --赋值
  --语法二 在begin...end间使用select 字段列表 into 变量名 from 表名 where 条件...;
  select emp.empno into i2 from emp where ename = SCOTT;
  dbms_output.put_line(i2);
  select emp.ename into ena from emp where empno = 7521;
  dbms_output.put_line(ena);
  select * into emp1 from emp where ename = ALLEN;
  --取记录型变量的列
  --语法 变量名.列名;
  dbms_output.put_line(emp1.ename ||的工资是||emp1.sal);
end;

 

 

声明PL/SQL语句

语法:declare...begin...end;在declare与begin间声明变量,在begin和end间书写语句

示例代码如下:

declare
  i number(2) := 12;
  i2 number(4);
  s varchar2(10) := 沃兹;
  ena emp.ename%type;
  emp1 emp%rowtype;
begin
  dbms_output.put_line(i);
  dbms_output.put_line(s);
  select emp.empno into i2 from emp where ename = SCOTT;
  dbms_output.put_line(i2);
  select emp.ename into ena from emp where empno = 7521;
  dbms_output.put_line(ena);
  select * into emp1 from emp where ename = ALLEN;
  dbms_output.put_line(emp1.ename ||的工资是||emp1.sal);
end;

 

声明变量和引用型变量

语法1: 变量名 数据类型;
语法2: 变量名 表名.列名%type;

示例代码如下:

  s varchar2(10) := 沃兹;
  ena emp.ename%type;

声明记录型变量

语法:变量名 表名%rowtype;

示例代码如下:

  emp1 emp%rowtype;

 

赋值

语法一: 变量名 := 值;
语法二 :在begin...end间使用select 字段列表 into 变量名 from 表名 where 条件...;

实例代码如下

declare
  --赋值
  --语法一 变量名 := 值;
  i number(2) := 12;
begin
  --赋值
  --语法二 在begin...end间使用select 字段列表 into 变量名 from 表名 where 条件...;
  select emp.empno into i2 from emp where ename = SCOTT;
end;

 

输出

语法: dbms_output.put_line(值/变量||值/变量||...);

示例代码如下:

begin
  --输出
  --语法 dbms_output.put_line(值/变量||值/变量||...);
  dbms_output.put_line(i);
end;

 

取记录型变量的值

语法:变量名.列名

示例代码如下:

begin
  --取记录型变量的列
  --语法 变量名.列名;
  dbms_output.put_line(emp1.ename ||的工资是||emp1.sal);
end;

 

oracle的PL/SQL编程语言(一)入门

上一篇:使用mybatis做ORM的应用,由单纯支持mysql,改为兼容oracle


下一篇:Mysql字符串连接函数 CONCAT()与 CONCAT_WS()