第一个plsql程序

在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;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值