培训机构的oracle学习笔记4.docx

存储过程 -注册功能实现 - 登陆功能实现 -过程参数传值 -函数的定义和调用 -pl/sql 语句块调用 注册功能实现 create or replace procedure regist(ENO NUMBER,ENA EMP.ENAME%TYPE) is i int:=0; c int:=0; begin select count(0) into c from emp where ename=ena;--count() 统计数量,如果有 ena 就会统 计出数量为 1 if c=1 then dbms_output.put_line( 对不起,该账号已经存在,请更换新的账号注册 ); else insert into emp(empno,ename) values(ENO,ENA); i:=SQL%rowcount;--sql 影响的行数 IF I=1 THEN DBMS_OUTPUT.put_line( 注册成功 ); ELSE DBMS_OUTPUT.put_line( 注册失败 ); END If; end if; end regist; 登陆功能实现,对于登陆有多种处理方式,根据不同的情况做相应的处理 create or replace procedure login(ena varchar2,eno number) is --cursor clogin is select * from emp where ename=ena and empno=eno; cemp emp%rowtype; --TYPE RC IS REF CURSOR;-- 申明引用游标类型 RC --RRC RC; --I INT:=0; begin --第一种 --open clogin; /*SELECT COUNT(0) INTO I FROM EMP where ENAME=ena AND EMPNO=eno;--count(0), 统计数量 IF I=1 THEN dbms_output.put_line( 用户登陆成功 ); OPEN RRC FOR SELECT * FROM EMP WHERE ENAME=ENA AND EMPNO=ENO; FETCH RRC INTO CEMP; ELSE dbms_output.put_line( 用户登陆失败 ); END IF; --第二种 fetch clogin into cemp; if clogin%ROWCOUNT=1 THEN dbms_output.put_line( 用户登陆成功 ); ELSE dbms_output.put_line( 用户登陆失败 ); END IF; */ --OPEN CLOGIN; --FETCH CLOGIN INTO CEMP; --第三种 SELECT * INTO CEMP FROM EMP WHERE ENAME=ENA AND EMPNO=ENO; if cemp.ename is not null then dbms_output.put_line( 用户登陆成功 ); ELSE dbms_output.put_line( 用户登陆失败 ); END IF; end login; 过程参数传值,参数绑定方式传值 DECLARE N INT; BEGIN N:=15; A(i=N);-- 参数绑定 ,= 前面是过程参数名, = 后面是要传入的值 END; 过程参数传值,参数绑定方式传值。使用 out 模式带出一个结果 CREATE OR REPLACE PROCEDURE A(I IN INT,j out int) IS BEGIN DBMS_OUTPUT.put_line(MOD(I,10)); dbms_output.put_line(j); j:=200; END A; declare k int:=23; m int:=32; begin a(i=k,j=m); dbms_output.put_line(m); dbms_output.put_line(k); end; 定义存储过程,其功能是:根据用户名查询员工信息 create or replace procedure queryEmpBycondition(en in emp.ename%type,re out emp%rowtype) is --ree emp%rowtype; begin select * into re from emp where ename=en; end queryEmpBycondition; declare enn emp.ename%type; r emp%rowtype; begin en:=; queryEmpByconditi

文档评论(0)

1亿VIP精品文档

相关文档