目录
查找某个部门员工的平均薪水和人数。部门号使用替代变量,应用记录类型变量完成此题
如果希望输出的薪水以某种格式显示,比如前面加上美元符号,有两位小数点。应该如何实现?
执行DDL命令的方法是使用 execute immediate ,删除表
执行DDL命令的方法是使用 execute immediate ,创建表
输入两个数,让小的在前面 ——if then ……else …… end if;
接收用户的输入,要求长度不少于6个字符,如果输入正确,则输出用户输入的信息。否则,显示“输入长度不够
输入字母,分别输出相对应的级别信息 case when 判断 then 输出语句; when 判断 then 输出语句 ;else end case;
根据员工编号对emp表修改员工的奖金,当员工原本有奖金,则再增加100元,如果原来没有奖金,则抛出异常,说明奖金为空
表emp有外键关联表dept的主键,当部门10有员工时,不能删除部门10。如果我们做了这样的操作,就违反了约束条件
输入编号,判断如果职位是“analyst”,则薪水增加10%;否则增加5%
最简单的pl/sql块
实现1-100之间的随机数
定义变量实现随机数,更规范的写
查询工号为7369的员工姓名和工资
运用%type实现调用变量类型
运用%ROWTYPE实现功能
运用Record 实现查询效果
求圆的面积
查找某个部门员工的平均薪水和人数。部门号使用替代变量
查找某个部门员工的平均薪水和人数。部门号使用替代变量,应用记录类型变量完成此题
如果希望输出的薪水以某种格式显示,比如前面加上美元符号,有两位小数点。应该如何实现?
执行DDL命令的方法是使用 execute immediate ,删除表
执行DDL命令的方法是使用 execute immediate ,创建表
输入两个数,让小的在前面 ——if then ……else …… end if;
接收用户的输入,要求长度不少于6个字符,如果输入正确,则输出用户输入的信息。否则,显示“输入长度不够
输入字母,分别输出相对应的级别信息 case when 判断 then 输出语句; when 判断 then 输出语句 ;else end case;
根据员工编号对emp表修改员工的奖金,当员工原本有奖金,则再增加100元,如果原来没有奖金,则抛出异常,说明奖金为空
表emp有外键关联表dept的主键,当部门10有员工时,不能删除部门10。如果我们做了这样的操作,就违反了约束条件
set serveroutput on
declare
myexception exception;
pragma exception_init (myexception,-2292);
begin
delete from dept where deptno=10;
exception
when myexception then
dbms_output.put_line('10部门有员工,不能删除');
when others then
dbms_output.put_line('其他异常');
end;
三种计算1——10的方法。(for while )
set serveroutput on
declare
s number(4):=0;
begin
for i in 1..10 loop
s:=s+i;
end loop;
dbms_output.put_line(s);
end;
set serveroutput on
declare
i number(4):=1;
s number(4):=0;
begin
while i<=10 loop
s:=s+i;
i:=i+1;
end loop;
dbms_output.put_line(s);
end;
set serveroutput on
declare
i number(4):=1;
s number(4):=0;
begin
loop
exit when i>10;
s:=s+i;
i:=i+1;
end loop;
dbms_output.put_line(s);
end;
测试用户输入的日期是否是周末,(星期六或星期日)
declare
v_d varchar2(20):='&a';
v_date date;
v_day varchar2(10);
begin
v_date:=to_date(v_d,'yyyy-mm-dd');
v_day:=to_char(v_date,'day');
if v_day in('星期六','星期日') then
dbms_output.put_line('是周末');
else dbms_output.put_line('不是周末');
end if;
end;
输入编号,判断如果职位是“analyst”,则薪水增加10%;否则增加5%
declare
v_no number(10):=&a;
v_job varchar2(10);
begin
select job into v_job from emp where empno=v_no;
if v_job='ANALYST' then
update emp set sal=sal*1.1 where empno=v_no;
else
update emp set sal=sal*1.05 where empno=v_no;
end if;
end;
删除多于空格
--删除多余的空格
declare
str varchar2(20):=' wd wq ';
len number(3);
str1 varchar2(20);
str2 varchar2(20);
i number(2):=1;
str3 varchar2(20);
begin
str1:=trim(str);
len:=length(str1);
while i<len+1
loop
str2:=substr(str1,i,1);
if length(trim(str2))!=0 then
str3:=str3||str2;
end if;
i:=i+1;
end loop;
dbms_output.put_line(str3);
end;