在PL/SQL中执行
--打印Hello World
declare
--说明部分(变量,光标或者例外)
begin
--程序体
dbms_output.put_line('Hello World');
end;
在sqlplus中执行
--打开输出开关
set serveroutput on
--打印Hello World
declare
--说明部分(变量,光标或者例外)
begin
--程序体
dbms_output.put_line('Hello World');
end;
PL/SQL的程序结构
declare
--说明部分(变量,光标或者例外说明)
begin
--语句序列(DML语句)
exception
--例外处理语句
end;
说明部分
定义基本变量
类型:char,varcha2,date,number,boolean,long
--使用基本变量类型
declare
--定义基本变量类型
--基本数据类型
pnumber number(7,2);
--字符串变量
pname varchar2(20);
--日期变量
pdate date;
begin
pnumber := 1;
dbms_output.put_line(pnumber);
pname := 'Tom';
dbms_output.put_line(pname);
pdate := sysdate;
dbms_output.put_line(pdate);
dbms_output.put_line(pdate + 1);
end;
1
Tom
31-AUG-19
01-SEP-19
引用型变量和记录型变量
--引用型变量
declare
--定义引用型变量:查询并打印7839的姓名和薪水
--pename varchar2(20);
--psal number;
pename emp.ename%type;
psal emp.sal%type;
begin
--得到7839的姓名和薪水
select ename,sal into pename,psal from emp where empno=7839;
--打印姓名和薪水
dbms_output.put_line(pename||'的薪水是'||psal);
end;
KING的薪水是5000
记录型变量
--使用记录型变量,查询并打印出7839的姓名和薪水
DECLARE
--定义记录型变量:代表一行
emp_rec emp%ROWTYPE;
BEGIN
--得到7839一行的信息
SELECT * INTO emp_rec FROM emp WHERE empno=7839;
--打印姓名和薪水
dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
END;
if语句
/*
判断用户从键盘输入的数字
1.如何使用if语句
2.接收一个键盘输入(字符串)
*/
--接收一个键盘输入
--NUM:地址值,含义是:在该地址上保存了输入的值
accept NUM prompt '请输入一个数字';
DECLARE
--定义变量保存用户从键盘输入的数字
pnum NUMBER := #
BEGIN
--执行if语句进行条件判断
IF pnum = 0 then dbms_output.put_line('您输入数字是0');
ELSIF pnum = 1 THEN dbms_output.put_line('您输入的是1');
ELSIF pnum = 2 THEN dbms_output.put_line('您输入的是2');
ELSE dbms_output.put_line('其他数字');
END IF;
END;
循环语句
--使用while循环打印数字的1-10
DECLARE
--定义循环变量
pnum NUMBER := 1;
BEGIN
WHILE pnum <= 10 LOOP
--循环体
dbms_output.put_line(pnum);
--使该变量加1
pnum := pnum + 1;
END LOOP;
END;
--使用loop循环打印数字的1-10
DECLARE
--定义循环变量
pnum NUMBER := 1;
BEGIN
LOOP
--退出条件:循环变量大于10
EXIT WHEN pnum > 10;
--打印该变量的值
dbms_output.put_line(pnum);
--使该变量加1
pnum := pnum + 1;
END LOOP;
END;
--使用for循环打印数字的1-10
DECLARE
--定义循环变量
pnum NUMBER := 1;
BEGIN
FOR pnum IN 1..10 LOOP
--打印该变量的值
dbms_output.put_line(pnum);
END LOOP;
END;