PL/SQL基础语法

什么是PL/SQL程序:PL/SQL是oracle对sql语言的过程化扩展。

指在SQL命令语言中增加 了过程处理语句(如分支,循环等),使SQL语言具有过程处理能力。

PL/SQL的程序结构:

declare

说明部分(变量说明,光标申明,例外说明 )

begin 

语句序列(DML语句)

exception

例外处理语句

end;

/

--举例

--定义基本变量类型

declare

pname  varchar2(30);

pnum      number(7,2);

pdate   date;

begin

--赋值  :=类似于java的=;

 pname:='tom';

 pnum:=1;

 pdate:=sysdate;

dbms.output.put_line(pname||pnum||pdate);

end;

结果是:tom18-11月-16;

定义引用型变量

举例:

my_name emp.name%type;(将emp表中的字段name的类型作为my_name的类型)


--定义引用型类型,查询并打印工号为7878的员工的名字和薪水

declare

pname emp.name%type;

psal emp.sal%type;

begin

--将emp表中工号为7788的员工的字段name和sal分别传入pname和psal,注意顺序不能换

select name,sal into pname,psal from emp where empno=7788;

--||类似于java中的+,连接字符串

dbms.output.put_line(pname||'的薪水是'||psal);

end;

结果是:tom的薪水是5000;

/

记录型变量

举例:

emp_rec emp%rowtype;(将emp表中一行的类型,作为emp_ref的类型,emp_ref相当于一个Object数组)

 desclare

emp_ rec emp%rowtype;

begin 

--在emp表中工号为7878的员工的所有信息传入emp_ref中;

 select* into emp_rec from emp where empno=7878;

--从emp_rec中获得工号为7878的姓名和工资,并打印出

      dbms.output.put_line(emp_rec.name||'的薪水'||emp.sal)    ;

end;                          


判断用户在键盘输入的数字


/*命令设置环境变量serveroutput为打开状态,从而使得pl/sql程序能够在SQL*plus中输出结果 */

 set serveroutput on

/*接受一个键盘输入字符串 num可以是任意名, prompt 发出提示*/

--num 指地址值,表示在该地址上保存了输入的值

accept num prompt "请输入一个数字 ";


decpare 

--表示地址要加&

pnum number:=#

begin 

if pnum:=1 then dbms.output.put_line("你输入数字1");

--注意是elsif

elsif pnum:=2 then dbms.output.put_line(“你输入数字2”);

else dbms.output.put_line("你输入了其它数字");

--if语句以endif结尾

endif;

end;

**********************************************

declare 
--声明一个记录类型
  type emp_record is record (
  v_sal  employees.salary%type,
  v_name employees.last_name%type,
  v_date employees.hire_date%type);
--定义一个记录类型的成员变量
v_emp_record emp_record;
begin 
select salary, last_name ,hire_date into v_emp_record from employees where employee_id=200;
dbms_output.put_line(v_emp_record.v_sal||v_emp_record. v_name||'日期'||v_emp_record.v_date);
end;








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值