PL/SQL程序设计入门
PL/SQL程序设计
- PL/SQL
- 起步鼻祖:hello World
- 语法分析
- 声明部分
- 举例
- 应用
- 举例
PL/SQL
起步鼻祖:hello World
先举个例子,用PL/SQL打印输出hello world
declarev_string varchar2(20);
beginv_string:='hello world';dbms_output.put_line(v_string);-- 该语句为sql中的打印输出语句
end;--开启屏幕打印: set serveroutput on
--关闭打印服务: set serveroutput off
语法分析
declare --声明部分: 定义变量、常量、游标、数据类型等
begin --执行部分 : 这是块的主要功能实现,该部分不能省略。
exception–异常处理部分:程序中有可能出现的错误
end; --结束标志
声明部分
变量声明: variable_name [constant] datatype[:=value1|default value2];数据类型(dataType):number,char,varchar2,date,boolean(true false null),lob (clob,blob);标识符命名规则:通常以字母开头,最长不超过30个字符:v_ c_ rec_ cur_ ;注:[ ]中的部分为可省略部分!!!
举例
写一个PL/SQL程序,通过定义变量,分别输出班级信息(v_bjxx)和个人姓名(v_name)
declare v_bjxx varchar2(30); v_name varchar2(20);
begin v_bjxx:='abc';v_name:='a';dbms_output.put_line('班级信息:'||v_bjxx||' '||'姓名:'||' '||v_name);
end;
应用
哪些SQL语句可以用在PL/SQL 中? select into from ; DML,commit,rollback等
(其中select into from 是查询语句中的属性值赋值给定义的变量)。
- %type类型: 声明一个变量与已有变量或者已有列数据类型一致。
1.1 格式:变量名 已有变量名%type;- %rowtype类型(记录类型):定义一个记录变量与已有记录类型或者表结构保持一致。
2.1 记录变量名 表名%rowtype;
举例
写一个PL/SQL程序,查询emp表中empno = 7788员工的姓名(ename)和工资(sal)。
select ename,sal from emp where empno=7788;
-- 常规类型
declare v_ename varchar2(10);v_sal number(7,2);
begin select ename,sal into v_ename,v_sal from emp where empno=7788;dbms_output.put_line('7788姓名是:'||v_ename||' '||v_sal);
end;
--%type类型
declare v_ename emp.ename%type;v_sal emp.sal%type;
begin select ename,sal into v_ename,v_sal from emp where empno=7788;dbms_output.put_line('7788姓名是:'||v_ename||' '||v_sal);
end;
--%rowtype类型(适用于获取所有属性)
declare rec_emp emp%rowtype;
begin select * into rec_emp from emp where empno=7788;dbms_output.put_line('7788姓名是:'||rec_emp.ename||' '||rec_emp.v_sal);
end;