oracle pl/sql基本语法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle pl/sql基本语法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2676字,纯文字阅读大概需要4分钟。
内容图文
![oracle pl/sql基本语法](/upload/InfoBanner/zyjiaocheng/877/d442f961d4d544d0a207b1be4aaaca85.jpg)
---pl/sql编程语言 ---pl/sql编程语言是对sql语言的扩展,使得sql语言具有过程化编程的特性。 ---pl/sql编程语言比一般的过程化编程语言,更加灵活高效。 ---pl/sql编程语言主要用来编写存储过程和存储函数等。 ---声明方法 ---赋值操作可以使用:= 也可以使用into查询语句赋值 declare i number(2) := 10; s varchar2(10) := '小明'; ena emp.ename%type;---引用型变量 emprow emp%rowtype;---记录型变量 begin dbms_output.put_line(i); -- 10 dbms_output.put_line(s); -- 小明 select ename into ena from emp where empno = 7788; dbms_output.put_line(ena); -- SCOTT select * into emprow from emp where empno = 7788; dbms_output.put_line(emprow.ename || '的工作为:' || emprow.job); -- SCOTT的工作为:ANALYST end;
--- pl/sql中的if判断 -- 范例 1:如果从控制台输入 1 则输出我是 1 declare pnum number := # begin if pnum = 1 then dbms_output.put_line('我是1'); end if; end; -- 范例 2:如果从控制台输入 1 则输出我是 1否则输出我不是 1 declare mynum number := # begin if mynum = 1 then dbms_output.put_line('我是1'); else dbms_output.put_line('我不是1'); end if; end; -- 范例 3:判断人的不同年龄段 18岁以下是未成年人,18岁以上 40以下是成年人,40以上是老年人 declare mynum number := # begin if mynum < 18 then dbms_output.put_line('未成年人'); elsif mynum >= 18 and mynum < 40 then dbms_output.put_line('中年人'); elsif mynum >= 40 then dbms_output.put_line('老年人'); end if; end;
---pl/sql中的loop循环 ---用三种方式输出1到10个数字 ---while循环 declare i number(2) := 1; begin while i<11 loop dbms_output.put_line(i); i := i+1; end loop; end; ---exit循环 declare i number(2) := 1; begin loop exit when i>10; dbms_output.put_line(i); i := i+1; end loop; end; ---for循环 declare begin for i in 1..10 loop dbms_output.put_line(i); end loop; end;
游标 Cursor
语法:
CURSOR 游标名 [ (参数名 数据类型,参数名 数据类型,...)] IS SELECT 语句;
例如: cursor c1 is select ename from emp;
游标的使用步骤:
打开游标: open c1; (打开游标执行查询)
取一行游标的值:fetch c1 into pjob; (取一行到变量中)
关闭游标: close c1;(关闭游标释放资源)
游标的结束方式 exit when c1%notfound
注意: 上面的 pjob 必须与 emp表中的 job 列类型一致:
定义:pjob emp.empjob%type;
---游标:可以存放多个对象,多行记录。 ---输出emp表中所有员工的姓名 declare cursor c1 is select * from emp; emprow emp%rowtype; begin open c1; loop fetch c1 into emprow; exit when c1%notfound; dbms_output.put_line(emprow.ename); end loop; close c1; end; -----给指定部门员工涨工资 declare cursor c2(eno emp.deptno%type) is select empno from emp where deptno = eno; en emp.empno%type; begin open c2(10); loop fetch c2 into en; exit when c2%notfound; update emp set sal=sal+100 where empno=en; commit; end loop; close c2; end; ----查询10号部门员工信息 select * from emp where deptno = 10;
内容总结
以上是互联网集市为您收集整理的oracle pl/sql基本语法全部内容,希望文章能够帮你解决oracle pl/sql基本语法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。