pl/sql学习笔记(参照博客园)

scott 用户解锁

拿system登录进去之后,执行下面的命令:

SQL> alter user scott account unlock;

 

 

PL/SQL声明格式:

 DECLARE  
    --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数
  BEGIN
    -- 执行部分:  过程及SQL 语句  , 即程序的主要部分
  EXCEPTION
    -- 执行异常部分: 错误处理
  END;


 


1:修改一条记录并显示

DECLARE
  Row_id ROWID;
  info   VARCHAR2(40);
BEGIN
  INSERT INTO t_sp
  VALUES
    (92, '财务室', 1)
  returning cityname,cityid  INTO row_id, info;
  DBMS_OUTPUT.PUT_LINE(row_id);
  DBMS_OUTPUT.PUT_LINE(info);
END;

解释:

RETURNING子句用于检索INSERT语句中所影响的数据行数,当INSERT语句使用VALUES 子句插入数据时,RETURNING 字句还可将列表达式、ROWID和REF值返回到输出变量中。在使用RETURNING 子句是应注意以下几点限制:

1.不能与DML语句和远程对象一起使用;

2.不能检索LONG 类型信息;

3.当通过视图向基表中插入数据时,只能与单基表视图一起使用。

 

2. 删除一条记录并显示

declare 
flg_sp varchar2(40);
begin
delete from t_sp s where s.cityid='1'
returning cityid into flg_sp;
dbms_output.put_line('删除的ID:'||flg_sp);
end;

 

变量复合类型:

看例子吧:

DECLARE
  TYPE record_sp IS RECORD(
    f_name t_sp.cityname%TYPE,
    j_id   t_sp.cityid%TYPE);
  v_sp record_sp;

BEGIN
  select cityname, cityid INTO v_sp FROM t_sp WHERE cityid = '1';

  DBMS_OUTPUT.PUT_LINE('名称:' || v_sp.f_name || '  id:' || v_sp.j_id);
END;


记录类型 ;t_sp 是表 cityid是t_sp里面字段;select  into是给变量赋值

还有使用%TYPE类型 %rowtype类型。

 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值