PL/SQL 简介 (一)

 很久没写PL/SQL了,在这里把以前的知识拿出来和新入行的朋友们分享,自己也可以巩固,分享快乐!感谢宁姐教育啊

1、PL/SQL语言简介:
  SQL99: 1999年制定的SQL标准;oracle、db2、sybase、sql server、mysql...都遵守这个标准。 
  PL/SQL(PL: Procedure Language)是标准SQL语言上的过程性扩展,他不仅允许嵌入SQL语句,
  而且允许定义变量和常量,允许过程语言结构(条件分支语句和循环语句),
  允许使用例外处理Oracle错误等,在运行Oracle的任何平台上应用开发人员多可以使用PL/SQL。
  注意:PL/SQL在不同数据库中语法不同。 PL/SQL的特点:
1 提高应用程序的运行性能; 
2 提供模块化得程序设计功能; 
3 允许定义标识符; 
4 具有过程语言控制结构; 
5 具有良好的兼容性;
6 处理运行错误。

  

2、PL/SQL的程序结构:
   PL/SQL的程序结构主要包括:变量、赋值、表达式、分支、循环。 
1.PL/SQL程序块的组成([]代表可有可无): 
  [declare] 变量声明 
  begin 语句; 执行部分
  [exception] 异常 捕捉并作异常处理 
  end;

2.尝试第一个打印语句:HelloWorld!
  set serveroutput on;
  begin 
    dbms_output.put_line('HelloWorld!'); 
  end;
  /
注意:Oracle默认屏幕输出是关闭的,可以使用show serveroutput 查看,默认OFF ,
     使用set serveroutput on;打开屏幕输出。"/" 可以执行你刚才的语句,看到结果。
     第一个例子就完成了。
3. 匿名块:等价于一条SQL语句,常用于调试。 取出姓名为scott员工的职位: 
  declare v_title varchar2(20); 
  -- 查询名字是scott 的工作,赋值给我们的变量
  begin select job into v_title from emp where ename = 'SCOTT'; 
  dbms_output.put_line(v_title); 
  end;
  注意:标示符长度不超过30个字符; 单行注释:"--注释"、多行注释:"/*注释*/"。
     这里我用的是oracle 10G,用户是scott用户,如果登录提示:the account is locked 

     请先登录超级用户 :sys as aysdba/(你的密码) 进行解锁
     然后输入:alter user scott acount unlock
     修改用户密码:alter user scott identified by 密码。


4.异常块: 取出姓名为aa员工(部门号为10)的职位: 
declare 
 v_title varchar2(20); 
begin 
 select job into v_title from emp where ename = 'aa'; 
 --where deptno='10' 多行的错误
 dbms_output.put_line(v_title); 
exception
 when no_data_found then 
   dbms_output.put_line('no data found!'); 
 when too_many_rows then 
   dbms_output.put_line('too many rows ');
end;
/
注意:no_data_found(数据没有找到异常)、too_many_rows(数据查找过多异常)
     这里异常名称是不能改变了,常用的异常,有兴趣可以自己去查询。后面会说到自己定义异常。

PLSQL 和程序差不多,一些固定的逻辑语法,组织你需要的业务,后面再更多的介绍

猜你喜欢

转载自greemranqq.iteye.com/blog/1812806
今日推荐