欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oralce存储过程、触发器和游标解决办法

更新时间: 2014-01-05 02:11:23 责任编辑: Author_N1

 

Oralce存储过程、触发器和游标
怎么用,语法等等
刚学到,但是学的有点云里雾里的。
希望哪位牛人能帮忙讲解讲解。
最好能有个什么书籍
我会加分的。

希望不知道的不要盖楼。
谢谢


--参考方法--
去下:《Oracle触发器与存储过程高级编程》,这本书写得还是挺好的



至于游标给你些例子吧,基本上几种游标类型都有了,不过用到了包:

--创建包
create or replace package emp_info
is
--含select的游标
cursor byempid_cur(
    empid_in in employees.employee_id%type
)
is
select * from employees
where employee_id=empid_in;
--完整的游标声明
cursor bydept_cur(
department_id_in in employees.department_id%type
) return employees%rowtype;
--不带select语句的游标声明
type dept_summary_rt is record(
dept_id employees.department_id %type,
total_emp_count pls_integer,
total_salary_count pls_integer
);
--自定义记录数据结构
cursor summary_cur(
dept_id_in in employees.department_id %type
) return dept_summary_rt;
end emp_info;
/



--创建包体
create or replace package body emp_info 
is
cursor bydept_cur(
    department_id_in in employees.department_id%type--包体变量名称必须和包声明相同,不同会有错

return employees%rowtype
is
    select * from employees where department_id=department_id_in;
cursor summary_cur(
    dept_id_in in employees.department_id%type
)
return dept_summary_rt
is
    select department_id,count(employee_id),sum(salary)
        from employees
        where department_id=dept_id_in;
end emp_info;
/



--使用包
declare 
    one_emp emp_info.byempid_cur%rowtype;
begin
    if emp_info.byempid_cur%isopen then
        null;
    else
        open emp_info.byempid_cur(119);
    end if;
    loop
        fetch emp_info.byempid_cur into one_emp;
        exit when emp_info.byempid_cur%notfound;
        dbms_output.put_line(one_emp.employee_id
--参考方法--

            one_emp.first_name
--参考方法--
one_emp.last_name
--参考方法--

            one_emp.salary
--参考方法--
one_emp.employee_id);
    end loop;
    close emp_info.byempid_cur;
end;
/



--参考方法--
这东西一箩筐哦..
XXX从入门到精通
Oracle Database 9i/10g/11g编程艺术 等等等
或者官方文档
楼主是想看开发类的吧,找点基础点的都有介绍...

--参考方法--
从最简单的搞起, 不要想到一步登天。
简单的会了,复杂的也就简单了~~~
--参考方法--
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:23
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6773/
本文WWW.DOC100.NET DOC100.NET版权所有。