为什么要学习PL/SQL

一 什么是PL/SQL程序
1、PL/SQL (Procedure Language/SQL)。
2、PLSQL是Oracle对sql语言的过程化扩展。
指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。
PL/SQL是对SQL 语言的扩展,PL/SQL是过程化语言。
 
二 学习Oracle数据库PL/SQL的两个目的
1、操作Oracle数据库效率最高。
2、为学习存储过程,存储函数,触发器打下基础。
 
三 PL/SQL的提出
举例:按职工的职称涨工资,总裁涨1000,经理涨800,其他涨400.
向这样的例子不能用简单的SQL语句来完成,必须以程序化的语言来完成。


 
PL/SQL:简单、高效、灵活、实用。
 
四 不同的数据库的SQL扩展
Oracle:PL/SQL
DB2:SQL/PL
SQL Server:Transac-SQL(T-SQL)
 
五 最简单的PL/SQL程序
1、需求
打印Hello World
 
2、代码
  1. set serveroutput on
  2. declare
  3. --说明部分(变量,光标或者例外)
  4. begin
  5. --程序体
  6. dbms_output.put_line('Hello World');
  7. end;
  8. /
3、运行结果
Hello World
 
PL/SQL 过程已成功完成。
4、注意
如果要在屏幕上输出信息,需要将serveroutput开关打开
 
六 怎样查看程序包
  1. SQL> desc dbms_output
  2. PROCEDURE DISABLE
  3. PROCEDURE ENABLE
  4. 参数名称类型输入/输出默认值?
  5. -------------------------------------------------------------------
  6. BUFFER_SIZE NUMBER(38) IN DEFAULT
  7. PROCEDURE GET_LINE
  8. 参数名称类型输入/输出默认值?
  9. -------------------------------------------------------------------
  10. LINE VARCHAR2 OUT
  11. STATUS NUMBER(38) OUT
  12. PROCEDURE GET_LINES
  13. 参数名称类型输入/输出默认值?
  14. -------------------------------------------------------------------
  15. LINES TABLE OF VARCHAR2(32767) OUT
  16. NUMLINES NUMBER(38) IN/OUT
  17. PROCEDURE GET_LINES
  18. 参数名称类型输入/输出默认值?
  19. -------------------------------------------------------------------
  20. LINES DBMSOUTPUT_LINESARRAY OUT
  21. NUMLINES NUMBER(38) IN/OUT
  22. PROCEDURE NEW_LINE
  23. PROCEDURE PUT
  24. 参数名称类型输入/输出默认值?
  25. -------------------------------------------------------------------
  26. A VARCHAR2 IN
  27. PROCEDURE PUT_LINE
  28. 参数名称类型输入/输出默认值?
  29. -------------------------------------------------------------------
  30. A VARCHAR2 IN
  31. SQL>
 

猜你喜欢

转载自cakin24.iteye.com/blog/2389281