PL/SQL程序(一)

原创 2012年03月21日 18:27:36
例一:在屏幕上显示hello World字样
Java程序
Public static void main(String[] args){
	System.out.println(“hello World”);
}
PL/SQL程序
SQL> declare
  2  begin
  3  dbms_output.put_line('hello  World');
  4  end;
  5  /
注意:如果要在屏幕上输出信息,需要将serveroutput开关打开
SQL>   set serveroutput on;

什么是PL/SQL?
1、PL/SQL(Procedure Language/SQL)
2、PLSQL是Oracle对sql语言的过程化扩展
3、指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。

Sql优点:
1、	交互式非过程化
2、	数据操纵功能强
3、	自动导航语句简单
4、	调试容易使用方便

例二:为职工长工资,每人长10%的工资
Update emp set sal=sal*1.1;
注:把sql语言的数据操纵能力与过程语言的数据处理能力结合起来,使得PLSQL面向过程但比工程语言简单、高效、灵活和实用。

PL/SQL程序结构
Declare
	说明部分(变量说明,光标申明,例外说明)
Begin
	语句序列(DML语句)
Exception
	例外处理语句
End;/

变量和常量说明
Var1 char(15); 说明变量名、数据类型和长度后用分号结束说明语句                                                                                                                                                                                                                                                                                                                                                                                                                                                  
My_name emp.ename%type; 引用型变量,既my_name的类型与emp表中ename列的类型一样
Emp_rec emp%rowtype;  记录型变量

If语句
1.      IF   条件  THEN 语句1;
       语句2;
        end if;
2. IF  条件  THEN  语句序列1;   
    ESLE   语句序列 2;
    END   IF;
3. IF   条件  THEN 语句;
   ELSIF  语句  THEN  语句;
  ELSE    语句;
 END  IF;

例三:If语句示例:
要求:从键盘输入,并判断用户输入的数字
declare
 pnum number:=#
 begin
if pnum>10 then
dbms_output.put_line('变量值大于10');
elsif pnum=10 then
dbms_output.put_line('变量值等于10');
else 
dbms_output.put_line('变量小于10');
end if ;
end;
提示:从键盘输入:
accept num prompt '请输入一个数字';
得到键盘输入的值:
		pnum number := #

循环语句:
1、WHILE  total  <= 25000  LOOP
.. .
total : = total + salary;
END  LOOP;
2、FOR   I   IN   1 . . 3    LOOP
语句序列 ;
END    LOOP ; 
3、Loop
EXIT [when   条件];
……
End loop

例四:循环语句示例:
输出数字1—10
方法一:
declare
num number := 1;
begin
  while num<=10
loop
  dbms_output.put_line(num);
  num :=num+1;
end loop;
end;

方法二:for方法
declare
num number := 10;
begin
  for num in 1..10
loop
  dbms_output.put_line(num);
end loop;
end;

方法三:
declare
num number := 1;
begin
loop
  exit when num>10;   -----当num>10的时候停止执行
  dbms_output.put_line(num);
  num :=num+1;
end loop;
end;

PL/SQL 基本语法

PL/SQL介绍PL/SQL是Oracle对标准数据库语言SQL的过程化扩充,它将数据库技术和过程化程序设计语言联系起来,是一种应用开发语言,可使用循环,分支处理数据,将SQL的数据操纵功能与过程化语...
  • u012414590
  • u012414590
  • 2017年04月06日 17:33
  • 2855

PL/Sql

  • 2008年02月26日 15:26
  • 8.73MB
  • 下载

PL/SQL --> 函数

函数通常用于返回特定的数据。其实质是一个有名字的PL/SQL块,作为一个schema对象存储于数据库,可以被反复执行。函数通常被作为 一个表达式来调用或存储过程的一个参数,具有返回值……...
  • robinson_0612
  • robinson_0612
  • 2010年12月11日 14:24
  • 8883

ORACLE PL/SQL编程详解

ORACLE PL/SQL编程详解 SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL /SQL是一种高级数据库程序设计语言,...
  • chenjinping123
  • chenjinping123
  • 2013年03月29日 17:14
  • 16609

在pl/sql中执行动态sql

动态sql就是把sql写在一个字符串里,在存储过程中解析字符串执行sql。这种动态sql很多时候会在别的语言里写,再连接数据库进行操作,这样的确方便很多,例如在java中使用JDBC。但是如果涉及到s...
  • yhb315279058
  • yhb315279058
  • 2014年12月18日 09:08
  • 1865

PL/SQL --> 动态SQL

使用动态SQL是在编写PL/SQL过程时经常使用的方法之一。很多情况下,比如根据业务的需要,如果输入不同查询条件,则生成不同的执行 SQL查询语句,对于这种情况需要使用动态SQL来完成。再比如,对于...
  • robinson_0612
  • robinson_0612
  • 2011年01月05日 15:06
  • 10595

Oracle学习(十一):PL/SQL

1.知识点:可以对照下面的录屏进行阅读 PL/SQL程序结构 declare 说明部分 (变量说明,光标申明,例外说明 〕 begin 语句序列 (DML语句〕… ...
  • v123411739
  • v123411739
  • 2014年06月12日 11:50
  • 1844

PL/SQL常用函数

名称                                   类型       说明  NUMBER                          数字型    能存放整数值和实数值,...
  • wcmj
  • wcmj
  • 2008年12月18日 14:17
  • 2265

PL/SQL和SQLPLUS查询结果不一样——千万别忘记commit!

同样的sql语句,在PLSQL和SQLPLUS中的查询结果不一样,您见过吗?今天在测试刚安装的oracle时发现在sqlplus和PLSQL中查询到的数据不一致,上网百度,重要找到了原因,本想着自己总...
  • u010955843
  • u010955843
  • 2015年07月07日 17:04
  • 982

PL/SQL学习四

16.事务控制    事务是用来确保数据库数据的一致性,它由一组相关的DML语句组成。该组DML语句要么全部成功提交,    要么全部取消。    数据库事务主要由INSERT,UPDATE,D...
  • edcvf3
  • edcvf3
  • 2012年08月22日 08:38
  • 3359
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PL/SQL程序(一)
举报原因:
原因补充:

(最多只允许输入30个字)