设为首页 收藏本站
查看: 826|回复: 0

[经验分享] 14.PL_SQL——StoreProcedures的创建和使用

[复制链接]

尚未签到

发表于 2018-10-24 07:05:58 | 显示全部楼层 |阅读模式
DSC0000.jpg

DSC0001.png

DSC0002.jpg

DSC0003.png

DSC0004.png

DSC0005.jpg

DSC0006.jpg

DSC0007.jpg

DSC0008.png

DSC0009.png

DSC00010.png

DSC00011.png

DSC00012.png

DSC00013.png

DSC00014.png

DSC00015.png

DSC00016.png

DSC00017.png

DSC00018.png

  ================Example 1===================
  SQL> select * from emp_tmp
  2  ;
  EMPLOYEE_ID     SALARYCOMMISSION_PCT
  ----------- ---------- --------------
  301       2500              0
  302         25             .1
  [oracle@localhost notes]$ vim s72.sql
  CREATE OR REPLACE PROCEDURE raise_salary
  (p_id INemployees.employee_id%TYPE,
  p_percent INNUMBER)
  IS
  BEGIN
  UPDATE emp_tmp
  SET salary =salary * ( 1 + p_percent/100)
  WHERE employee_id= p_id;
  COMMIT;
  END raise_salary;
  /
  SQL> @notes/s72.sql
  Procedure created.
  SQL> BEGIN raise_salary(302, 100);
  2  END;
  3  /
  PL/SQL procedure successfully completed.
  SQL> select * from emp_tmp;
  EMPLOYEE_ID     SALARYCOMMISSION_PCT
  ----------- ---------- --------------
  301       2500              0
  302         50             .1
  =================Example 2=====================
  [oracle@localhost notes]$ vim s73.sql
  CREATE OR REPLACE PROCEDURE query_emp
  (p_id      IN employees.employee_id%TYPE,
  p_name   OUT employees.last_name%TYPE,
  p_salary OUTemployees.salary%TYPE) IS
  BEGIN
  SELECT last_name,salary INTO p_name, p_salary
  FROM employees
  WHERE employee_id= p_id;
  END query_emp;
  /
  [oracle@localhost notes]$ vim s73_1.sql
  SET SERVEROUTPUT ON
  DECLARE
  v_emp_nameemployees.last_name%TYPE;
  v_emp_sal  employees.salary%TYPE;
  BEGIN
  query_emp(171,v_emp_name, v_emp_sal);
  DBMS_OUTPUT.PUT_LINE(v_emp_name || ' earns ' || to_char(v_emp_sal,'$999,999.00'));
  END;
  /
  SQL> @notes/s73.sql
  Procedure created.
  SQL> @notes/s73_1.sql
  Smith earns   $7,400.00
  PL/SQL procedure successfully completed.
  SQL> select last_name, salary from employees whereemployee_id = 171;
  LAST_NAME                    SALARY
  ------------------------- ----------
  Smith                           7400
  ==============Example 3=================
  [oracle@localhost notes]$ vim s74.sql
  SET SERVEROUTPUT ON
  CREATE OR REPLACE PROCEDURE format_phone
  (p_phone_no IN OUTVARCHAR2) IS
  BEGIN
  p_phone_no := '('|| SUBSTR(p_phone_no, 1, 3) ||
  ')'|| SUBSTR(p_phone_no, 4, 3) ||
  '-'|| SUBSTR(p_phone_no, 7);
  END format_phone;
  /
  [oracle@localhost notes]$ vim s74_1.sql
  VARIABLE b_phone_no VARCHAR2(15)
  EXECUTE :b_phone_no := '8006330575'
  PRINT b_phone_no
  EXECUTE format_phone (:b_phone_no)
  PRINT b_phone_no
  SQL> @notes/s74.sql
  Procedure created.
  SQL> @notes/s74_1.sql
  PL/SQL procedure successfully completed.
  B_PHONE_NO
  --------------------------------
  8006330575
  PL/SQL procedure successfully completed.
  B_PHONE_NO
  --------------------------------
  (800)633-0575
DSC00019.png

DSC00020.png

DSC00021.png

DSC00022.png

DSC00023.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625613-1-1.html 上篇帖子: 使用SQL语句从数据库一个表中随机获取数据 下篇帖子: 15.PL_SQL——Function的创建和使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表