一. 把2重写一次,注意update、where current of 的用法
二. 3问全部重写一次!
1.存储过程
1>存储过程的参数调用:理解同函数的形参实参(代码中的四个批注)
删除存储过程:drop procedure 过程名
( 删除触发器:drop trigger 触发器名)
create or replace procedure p_find( --()里的变量名只在这个过程中使用
people_name in varchar2,
book_num out number
)
is
begin
....
exception
...
end;
/
set serveroutput on
declare
s_name student.sname%type := '张延'; --用单引号!!可以不用是varchar2,实质相同就行
s_num number;
begin
p_find(s_name,s_num); --别写excute
dbms_output.put_line(s_name||'借了'||s_num||'本书'); --用的是s_name,s_num
end;
2. 在图书信息表上建立触发器,只允许ADMIN用户才有权修改图书信息表。
1>判断用户是否为admin怎么写的?
2>关联的-20001怎么来的?——自己自定义的,用负号开头,后面数字随便写
【RAISE_APPLICATION_ERROR函数可以直接产生异常,并且能为异常定义用户自己指定的错误信息。 】
3.小知识点
1>[natural] join、natural left join、natural right join、natural full join的区别