PL/SQL编程基础知识(一)
来源:互联网 发布:大数据涂子沛pdf 编辑:程序博客网 时间:2024/06/06 14:09
--PL/SQL变量的声明和赋值declare v_ename varchar2(30);--定义变量begin v_ename:='&请输入名字';--接受键盘输入 dbms_output.put_line(v_ename);end;--put_line :打印换行 ; put :打印不换行--接受数字输入,第一行输出若使用不换行打印造成输出失败declare v_num number;begin v_num:=22;--直接赋值 dbms_output.put_line(v_num);end;--变量中接受表的类型declare v_ename scott.emp.ename%type;--声明为scott用户emp表ename字段类型begin select ename into v_ename from emp where empno=7369;--使用select into给变量赋值 dbms_output.put_line(v_ename);end;--行结果集类型declare v_emprow scott.emp%rowtype;--v_emprow的类型为scott用户emp表的行类型begin select * into v_emprow from emp where empno=7369; dbms_output.put_line('员工姓名'||v_emprow.ename||' 员工薪水'||v_emprow.sal);--oracle字符连接使用||符号end;--if选择结构declare v_score number;begin v_score:='&请输入oracle数据成绩'; if v_score>90 then dbms_output.put_line('奖励大大的'); elsif v_score>80 then dbms_output.put_line('中等');--注意:oracle中的 elsif 和其他编程语言不一样:其中缺少一个e else dbms_output.put_line('继续努力'); end if;--if语句块需要手动结束end;--case语句结构declare v_ename scott.emp.ename%type; v_deptno scott.emp.deptno%type;begin v_ename:='&请输入员工姓名'; select deptno into v_deptno from emp where ename=v_ename; case v_deptno when 10 then dbms_output.put_line('10'); when 20 then dbms_output.put_line('20'); when 40 then dbms_output.put_line('30'); else dbms_output.put_line('无'); end case;end;select * from dept;SELECT * FROM EMP;create table grades( id number, name varchar2(30), course varchar2(30), grade number(5,2));insert into grades(id,name,course,grade) values(1,'邹忌第','语文',90);insert into grades(id,name,course,grade) values(2,'邹忌第','数学',90);insert into grades(id,name,course,grade) values(3,'邹忌第','外语',90);insert into grades(id,name,course,grade) values(4,'邹忌第','物理',90);insert into grades(id,name,course,grade) values(5,'男生与我','语文',90);insert into grades(id,name,course,grade) values(6,'男生与我','数学',90);insert into grades(id,name,course,grade) values(7,'男生与我','外语',90);insert into grades(id,name,course,grade) values(8,'海军','语文',90);insert into grades(id,name,course,grade) values(9,'海军','数学',90);insert into grades(id,name,course,grade) values(10,'海军','外语',90);select * from grades;--行转列select name,sum(case when course='语文' then grade else 0 end) as 语文,sum(case when course='数学' then grade else 0 end) as 数学,sum(case when course='外语' then grade else 0 end) as 外语,sum(case when course='物理' then grade else 0 end) as 物理 from grades group by name; --LOOP循环 至少执行一次declare v_num1 number; v_num2 number;begin v_num1:='&请输入数值1'; v_num2:='&请输入数值2'; loop dbms_output.put_line(v_num1); v_num1:=v_num1+1; exit when v_num1>v_num2;--退出条件 end loop;exception when others then dbms_output.put_line('unknown exception occurred'); dbms_output.put_line(sqlcode);--输出异常对应的编号 dbms_output.put_line(sqlerrm);--输出异常对应的信息end;--while循环 使用最多 最为灵活declare v_num1 number; v_num2 number;begin v_num1:='&请输入数值1'; v_num2:='&请输入数值2'; while v_num1<v_num2 loop dbms_output.put_line(v_num1); v_num1:=v_num1+1; end loop;exception when others then dbms_output.put_line('unknown exception occurred'); dbms_output.put_line(sqlcode);--输出异常对应的编号 dbms_output.put_line(sqlerrm);--输出异常对应的信息end;--for循环declare v_num1 number; v_num2 number; begin v_num1:='&请输入数值1'; v_num2:='&请输入数值2'; for v_result in v_num1.. v_num2 loop --for 变量名 in 循环的范围 loop dbms_output.put_line(v_result);--对变量进行操作 end loop;exception when others then dbms_output.put_line('unknown exception occurred'); dbms_output.put_line(sqlcode);--输出异常对应的编号 dbms_output.put_line(sqlerrm);--输出异常对应的信息end;
阅读全文
1 0
- PL/SQL编程基础知识(一)
- PL/SQL (一):基础知识
- PL/SQL(一):基础知识
- pl/sql基础知识学习笔记(一)
- PL/SQL编程(一)
- pl/sql 编程(一)
- PL/SQL编程(一)
- Oracle:PL*SQL 编程(一)
- (韩顺平讲解)pl/sql编程(一)
- ORACLE PL/SQL编程详解之八(一)
- pl/sql编程学习笔记(一)
- oracle中pl/sql编程(一):
- pl/sql基础知识学习笔记(二)
- pl/sql基础知识学习笔记(三)
- PL/SQL基础知识
- PL/SQL块基础知识
- Oracle PL/SQL基础知识
- Oracle PL/SQL基础知识
- 二、maven项目搭建 springmvc+ spring + mybatis(2环境)
- 北京搜狐大数据
- jquery学习-1
- oracle恢复删除的数据
- 微信小程序项目实例
- PL/SQL编程基础知识(一)
- 设计模式之观察者模式
- poj 1006 中国剩余定理
- 关于iOS禁止输入表情符号
- 2144-图结构练习——最小生成树
- 欢迎使用CSDN-markdown编辑器
- opencv学习笔记(2017年8月21日)之图像腐蚀操作
- Python3之subprocess模块
- 实验室论文作图,绘制粒子点