1.基本格式
1 set serveroutput on 2 declare 3 -- 申明部分 4 name varchar(20); 5 begin 6 -- 执行的sql语句 7 select ename into name from emp where empno=7566; 8 dbms_output.put_line(name); 9 end; 10 /
1 set serveroutput on 2 declare 3 -- 申明部分 4 name emp.ename%type; 5 myrow emp%rowtype; 6 begin 7 -- 执行的sql语句 8 select ename into name from emp where empno=7566; 9 select * into myrow from emp where empno = 7566; 10 dbms_output.put_line(name); 11 dbms_output.put_line(myrow.sal); 12 end; 13 /
例1:简单的pl/sql if语句
1 set serveroutput on 2 declare 3 weather varchar(20) := '晴天'; 4 begin 5 if(weather = '晴天') 6 then 7 dbms_output.put_line('去旅游'); 8 end if; 9 end; 10 / 11 去旅游
例2: -- 计算一下1-100的和
1 set serveroutput on 2 declare 3 myindex number := 1; 4 mysum number := 0; 5 begin 6 loop 7 exit when myindex > 100; 8 mysum := mysum + myindex; 9 myindex := myindex + 1; 10 end loop; 11 dbms_output.put_line(mysum); 12 end; 13 / 14 5050
-- 总结: 1.不要用关键字来做变量的名称。 2. 赋值一定要用 :=
例3: 根据不同的成绩打印出相应的级别。
1 set serveroutput on 2 declare 3 grade number(4) :=75; 4 begin 5 if(grade<60) 6 then 7 dbms_output.put_line('D'); 8 elsif(grade<70) 9 then 10 dbms_output.put_line('C'); 11 elsif(grade<80) 12 then 13 dbms_output.put_line('B'); 14 else 15 dbms_output.put_line('A'); 16 end if; 17 end; 18 / 19 B