- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* INSTEAD OF 示例 创建一个包括员工及其所在部门信息的视图empdept,然后向视图中插入一条记录(2345,’TOM’,3000,’SALES’)。 创建视图 CREATE OR REPLACE VIEW empdept AS SELECT empno,ename,sal,dname FROM emp,dept WHERE emp.deptno=dept.deptno WITH CHECK OPTION; 创建触发器 * CREATE OR REPLACE TRIGGER trig_view INSTEAD OF INSERT ON empdept FOR EACH ROW DECLARE v_deptno dept.deptno%type; BEGIN SELECT deptno INTO v_deptno FROM dept WHERE dname=:new.dname; INSERT INTO emp(empno,ename,sal,deptno) VALUES(:new.empno,:new.ename,v_deptno,:new.sal); END trig_view; * 15.8.4系统触发器 触发器事件 创建系统触发器 * 系统触发器事件 系统触发器事件 DDL事件 CREATE、ALTER、DROP) 数据库事件触发 服务器启动/关闭、用户登陆/注销以及服务器错误 * 调用软件包pkg_emp中的过程update_sal,修改7844员工工资为3000。调用add_employee添加一个员工号为1357,工资为4000的员工。 BEGIN pkg_emp.update_sal(7844,3000); pkg_emp.add_employee(1357,4000); END; * 包的重载 重载子程序必须同,即名称相同,参数不同。 如果两个子程序参数只是名称和模式不同,则不能重载。 PROCEDURE overloadme(parameter1 IN NUMBER); PROCEDURE overloadme(parameter2 OUT NUMBER); 不能根据两个函数返回类型不同对它们进行重载。 FUNCTION overloadme RETURN DATE; FUNCTION overloadme RETURN NUMBER; 重载子程序参数必须在类型系列方面有所不同。 PROCEDURE overloadchar(parameter IN CHAR); PROCEDURE overloadchar(parameter IN VARCHAR2); * 在一个包中重载两个过程,分别以部门号和部门名称为参数,查询相应部门员工名、员工号信息。 * CREATE OR REPLACE PACKAGE pkg_overload AS PROCEDURE show_emp(p_deptno NUMBER); PROCEDURE show_emp(p_dname VARCHAR2); END pkg_overload; CREATE OR REPLACE PACKAGE BODY pkg_overload AS PROCEDURE show_emp(p_deptno NUMBER) AS BEGIN FOR v_emp IN (SELECT * FROM emp WHERE deptno=p_deptno) LOOP DBMS_OUTPUT.PUT_LINE(v_emp.empno|| || v_emp.ename); END LOOP; END show_emp; * PROCEDURE show_emp(p_dname VARCHAR2) AS v_deptno NUMBER; BEGIN SELECT deptno INTO v_deptno FROM dept WHERE dname=p_dname; FOR v_emp IN (SELECT * FROM emp WHERE deptno=v_deptno) LOOP DBMS_OUTPUT.PUT_LINE(v_emp.empno|| || v_emp.ename); END LOOP; END show_emp; END pkg_overload; * 15.7.4包
您可能关注的文档
最近下载
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试备考题库及答案解析.docx VIP
- 一种含电极的智能指环、灌胶治具及其封装工艺.pdf VIP
- The Wonderful Wizard of Oz-绿野仙踪(带动画) 课件.pdf VIP
- 2025至2030中国老年照护行业市场发展分析及竞争格局与投资发展报告.docx
- 2010年考研英语真题及解析.pdf VIP
- 浙江省强基联盟2024-2025学年高一上学期10月联考生物试卷.docx VIP
- 第一章 应急管理导论-2.ppt VIP
- 大连理工工程力学课件0.pdf VIP
- 大行距造林中杨树营养面积与大行距经济效益的研究.docx VIP
- 2025学宪法讲宪法知识竞赛题库及参考答案.pptx
文档评论(0)