Pl/SQL 编程
Posted ✧*꧁一品堂.技术学习笔记꧂*✧.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pl/SQL 编程相关的知识,希望对你有一定的参考价值。
Pl/SQL 编程
一:前言
二:Pl/Sql 概述
二 —— 1: Pl/Sql块结构
View Code1 SQL> set serveroutput on; 2 SQL> 3 SQL> declare 4 2 a int:=10; 5 3 b int:=200; 6 4 c number; 7 5 begin 8 6 c:=(a+b)/(a-b); 9 7 dbms_output.put_line(c); 10 8 exception 11 9 when zero_divide then 12 10 dbms_output.put_line(\'除数不许为零\'); 13 11 end; 14 12 / 15 16 -1.10526315789473684210526315789473684211 17 18 PL/SQL procedure successfully completed 19 20 SQL>
二 —— 2: 代码注释和标识符
二 —— 2_____1:单行注释
View Code1 SQL> set serveroutput on; --在服务器端 输出结果 2 SQL> declare 3 2 4 3 Num_sal number; --- 声明一个数值变量 5 4 Var_ename varchar(20); --- 声明一个字符串变量 6 5 begin 7 6 select e.ename,e.sal into Var_ename,Num_sal from emp e where empno=7839; --检索指定的值并储存到变量中 8 7 dbms_output.put_line(Var_ename||\'工资是\'||Num_sal); 9 8 end; 10 9 11 10 12 11 / 13 14 KING工资是5000 15 16 PL/SQL procedure successfully completed
二 —— 2_____2:多行注释
View Code1 set serveroutput on; /*在服务器端 输出结果*/ 2 declare 3 Num_sal number; 4 Var_ename varchar2(20); 5 begin 6 /*检索指定的值并储存到变量中*/ 7 select e.ename,e.sal into Var_ename,Num_sal from emp e where empno=7839; --检索指定的值并储存到变量中 8 dbms_output.put_line(Var_ename||\'工资是\'||Num_sal); 9 end; 10 /
二 —— 2_____3:PL/SQL字符集
三:数据类型与定义变量和常量
三 —— 1:基本数据类型
三 —— 1_____1:数值类型
三 —— 1_____2:字符类型
三 —— 1_____3:日期类型
三 —— 1_____4:布尔类型
三 —— 2 :特殊数据类型
三 —— 2_____1: %TYPE 类型
View Code1 SQL> set serveroutput on /*在服务器端 输出结果*/ 2 SQL> declare 3 2 var_ename emp.ename%type; /*声明与ename 列类型相同的变量*/ 4 3 var_job emp.job%type; /*声明与job列类型相同的变量*/ 5 4 begin 6 5 select ename,job into var_ename,var_job from emp where empno=7839 ;/*检索数据,并保存在变量中*/ 7 6 dbms_output.put_line(var_ename||\'工资是\'||var_job); 8 7 end; 9 8 / 10 11 KING工资是PRESIDENT 12 13 PL/SQL procedure successfully completed
三 —— 2_____2: record 类型
View Code1 set serveroutput on /**/ 2 declare 3 type emp_type is record 4 ( 5 var_ename varchar2(20), /*定义字段--成员变量 */ 6 var_job varchar2(20), 7 var_sal number 8 ); 9 empinfo emp_type; /*定义变量*/ 10 begin 11 select ename,job,sal into empinfo from emp where empno=7839 ;/*检索数据*/ 12 dbms_output.put_line( \'雇员\'||empinfo.var_ename||\'的职位是\'||empinfo.var_job||\'、工资是\'||empinfo.var_sal); 13 14 end; 15 /
三 —— 2_____3: %rowtype 类型
View Code1 SQL> set serveroutput on 2 SQL> declare 3 2 rowVar_emp emp%rowtype;/*定义能够储存emp表中一行数据的变量 rowVar_emp*/ 4 3 begin 5 4 select * into rowVar_emp from emp where empno=7839 ;/*检索数据*/ 6 5 dbms_output.put_line( \'雇员\'||rowVar_emp.ename||\'的职位是\'||rowVar_emp.job||\'、工资是\'||rowVar_emp.sal); 7 6 8 7 end; 9 8 / 10 11 雇员KING的职位是PRESIDENT、工资是5000 12 13 PL/SQL procedure successfully completed 14 15 SQL>
三 —— 3: 定义变量和常量
四 :流程控制语句
四 —— 1:选择语句 if …then 语句
View Code1 SQL> set serveroutput on 2 SQL> declare 3 2 var_name1 varchar2(50); --//定义2个字符串变量 4 3 var_name2 varchar2(50); 5 4 6 5 begin 7 6 var_name1 :=\'East\'; --//给2个变量赋值 8 7 var_name2 :=\'xiaoke\'; 9 8 10 9 if length(var_name1)<length(var_name2) then 11 10 /*输出比较后的结果*/ 12 11 dbms_output.put_line(\'字符串 “\'||var_name1||\'”的长度比字符串“\'||var_name2||\'”的长度小\'); 13 12 end if; 14 13 end; 15 14 / 16 17 字符串 “East”的长度比字符串“xiaoke”的长度小 18 19 PL/SQL procedure successfully completed 20 21 SQL>
四 ——1_____ 2:选择语句 if …then … else 语句
View Code1 SQL> set serveroutput on 2 SQL> declare 3 2 age int:=55;/*定义整型变量并赋值*/ 4 3 begin 5 4 if age >=56 then 6 5 dbms_output.put_line(\'您可以申请退休了!\'); 7 6 else 8 7 dbms_output.put_line(\'您小于56岁,不可以申请退休了!\'); 9 8 end if; 10 9 end; 11 10 / 12 13 您小于56岁,不可以申请退休了! 14 15 PL/SQL procedure successfully completed 16