oracle-day03

 --1,列出所有“CLERK”(办事员)的姓名及其部门名称。
 select a.ename,a.job from emp a
 join dept b on a.deptno=b.deptno
 where a.job='CLERK'
 
 --2,列出薪金高于公司平均薪金的所有员工。
 select * from emp
 where sal>(select avg(sal) from emp)
 
 --3,截取字符串'afafaa@fffff@aaaaa'
 select substr(
    'afafaa@fffff@aaaaa',
    instr('afafaa@fffff@aaaaa','@',1,1)+1,
    instr('afafaa@fffff@aaaaa','@',1,2)-(instr('afafaa@fffff@aaaaa','@',1,1)+1)
 )from dual
 
 --4,列出员工表中每月入职的人数
   select to_char(hiredate,'yyyy-mm'),count(*) 
   from emp 
   group by to_char(hiredate,'yyyy-mm')
   order by to_char(hiredate,'yyyy-mm');
   
 -- 5查询每个部门中工资最高的人
 select * from emp where (deptno,sal) in 
 (select deptno,max(sal) from emp group by deptno)

----------------------------------------------------------------------

-- plsql 匿名块
-- 接收用户输入的员工编号,查询并输出该员工的姓名和雇佣日期,处理用户输入的员工编号不存在的异常
declare --声明部分
 -- %type取字段数据类型
 
 -- t_empno number(4); --声明变量
 t_empno emp.empno%type;
 -- t_ename varchar2(20);
 t_ename emp.ename%type;
 --t_hiredate date;
 t_hiredate emp.hiredate%type;
 
begin -- 执行部分
  t_empno := &empno; --:=变量赋值 ,&接受用户输入,empno输入框名称
  -- into 把查询结果赋值给两个变量
  select ename,hiredate into t_ename,t_hiredate from emp where empno=t_empno;
  dbms_output.put_line('姓名:'||t_ename||'雇佣日期:'||to_char(t_hiredate,'yyyy-mm-dd'));
  exception -- 异常处理
    when no_data_found then 
       dbms_output.put_line('你输入的工号'||t_empno||'不存在');
end;

-- 常量使用
declare
t_pi constant number(8,7):=3.1415926; 
t_r number(8,2);
t_area number(10,2);

begin
  t_r:=&r;
  t_area:=t_pi*t_r*t_r;
  dbms_output.put_line('半径为:'||t_r||'    面积为'||t_area);
end;

-- %rowtype 去一行数据的类型
declare
t_emprow emp%rowtype;
begin
  select * into t_emprow from emp where empno=7369;
  dbms_output.put_line('姓名'||t_emprow.ename||'   工资'||t_emprow.sal);
  end;
  
-- record 自定义一部分类型
declare
  type emp_record is record( --定义record类型
    t_empno emp.empno%type,
    t_emame emp.ename%type,
    t_sal emp.sal%type,
    t_comm emp.comm%type
  );
-- 声明变量属于定义好类型
  t_emp_record emp_record;
begin
    select empno,ename,sal,comm into t_emp_record from emp where empno=7369;
    dbms_output.put_line('姓名:'||t_emp_record.t_emame||'   工资:'||t_emp_record.t_sal
    ||'   奖金'||nvl(t_emp_record.t_comm,0));
  end;

--table 定义具有行和列的存放 数据的集合
declare

  type dept_table is table of dept%rowtype index by binary_integer;
  t_dept_table dept_table;
begin
    select * into t_dept_table(0) from dept where deptno=10;
    select * into t_dept_table(1) from dept where deptno=20;
    dbms_output.put_line('部门名称'||t_dept_table(0).dname||'  位置'||t_dept_table(0).loc);
    dbms_output.put_line('部门名称'||t_dept_table(1).dname||'  位置'||t_dept_table(1).loc);
  end;
  
-- 快速表备份
create table emp_bak1031 as select * from emp;
-- 备份空表
create table emp_bak1030 as select * from emp where 1=2;
-- 向表中批量插入数据
insert into emp_bak1030
select * from emp where sal<1500;

----------------------------------------------------

-- if elsif elsif ..end if
declare
t_empno emp_bak1031.empno%type;
t_comm emp_bak1031.comm%type;
begin
  t_empno:=&empno;
  select comm into t_comm from emp_bak1031 where empno=t_empno;
  dbms_output.put_line('原来奖金'||t_comm);
  
  if t_comm is null then 
    update emp_bak1031 set comm=sal*0.1 where empno=t_empno;
   elsif t_comm <1000 then 
     update emp_bak1031 set comm=1000 where empno =t_empno;
   else
      update emp_bak1031 set comm=1.1*comm where empno =t_empno;
   end if;
   commit;--提交事物
end;

-- case when then when then--end case
-- 第一个条件满足就退出
declare
t_sal emp.sal%type;
begin 
  select sal into t_sal from emp where empno=&empno;
  case when t_sal<1000 then
    dbms_output.put_line('C');
    when t_sal<2000 then 
       dbms_output.put_line('B');
    when t_sal>=2000 then 
       dbms_output.put_line('A');
  end case;
end;

 
 
 
 
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值