--输出编号3500的员工的姓名和职务
select * from emp;
--匿名块
--1
declare
v_ename varchar2(20);
v_job varchar2(20);
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
v_ename := '哈哈' || v_ename;
dbms_output.put_line(v_ename || '-------' || v_job);
end;
--2
declare
v_ename varchar2(20);
v_job varchar2(20);
--给变量赋初值的方法
v_num number(5) := 10;
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
--给字段加拼接内容
v_ename := '哈哈' || v_ename || '哈哈';
--输出语句
dbms_output.put_line(v_num || ':' || v_ename || '-------' || v_job);
end;
--3
declare
v_ename varchar2(20);
v_job varchar2(20);
--给变量赋初值的方法
v_num number(5) := 10;
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
--给字段加拼接内容
v_ename := '哈哈' || v_ename || '哈哈';
--输出语句
dbms_output.put_line(v_num || ':' || v_ename || '-------' || v_job);
--判断控制语句--选择流程
if v_job='CLERK' then
dbms_output.put_line('程序员==程序猿');
else
dbms_output.put_line('程序员!=程序猿');
end if;
end;
--4
declare
v_ename varchar2(20);
v_job varchar2(20);
--给变量赋初值的方法
v_num number(5) := 1;
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
--给字段加拼接内容
v_ename := '哈哈' || v_ename || '哈哈';
--输出语句
dbms_output.put_line(v_num || ':' || v_ename || '-------' || v_job);
--判断控制语句--选择流程
if v_job='CLERK' then
dbms_output.put_line('程序员==程序猿');
else
dbms_output.put_line('程序员!=程序猿');
end if;
dbms_output.put_line('--------------------------');
--循环流程
loop
dbms_output.put_line(v_num);
v_num := v_num+1;
--表示当 v_num=10 的时候结束循环
exit when v_num=10;
end loop;
dbms_output.put_line('--------------------------');
end;
--5
declare
v_ename varchar2(20);
v_job varchar2(20);
--给变量赋初值的方法
v_num number(5) := 1;
v_i number;
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
--给字段加拼接内容
v_ename := '哈哈' || v_ename || '哈哈';
--输出语句
dbms_output.put_line('------------普通查询--------------------');
dbms_output.put_line(v_num || ':' || v_ename || '-------' || v_job);
--判断控制语句--选择流程
dbms_output.put_line('------------选择流程--------------------');
if v_job='CLERK' then
dbms_output.put_line('程序员==程序猿');
else
dbms_output.put_line('程序员!=程序猿');
end if;
dbms_output.put_line('-------------普通循环--------------------');
--循环流程
loop
dbms_output.put_line(v_num);
v_num := v_num+1;
--表示当 v_num=10 的时候结束循环
exit when v_num=10;
end loop;
dbms_output.put_line('------------for循环--------------');
--v_i:表示定义一个int类型的变量 i; 1..10:表示i的双闭区间的取值范围(注意此处的格式,没有end for;标记; reverse:表示倒序输出)
for v_i in reverse 1..10
loop
dbms_output.put_line(v_i);
end loop;
end;
--6
declare
--构造新类型
type emp_entity_type is record(
ena emp.ename%type,
eno emp.empno%type
);
v_ename varchar2(20);
v_job varchar2(20);
--给变量赋初值的方法
v_num number(5) := 1;
v_i number;
emp_entity emp_entity_type;
begin
select ename,job into v_ename,v_job from emp;
exception
when others then
select ename,job into v_ename,v_job from emp where empno=7369;
--给字段加拼接内容
v_ename := '哈哈' || v_ename || '哈哈';
--输出语句
dbms_output.put_line('------------普通查询--------------------');
dbms_output.put_line(v_num || ':' || v_ename || '-------' || v_job);
--判断控制语句--选择流程
dbms_output.put_line('------------选择流程--------------------');
if v_job='CLERK' then
dbms_output.put_line('程序员==程序猿');
else
dbms_output.put_line('程序员!=程序猿');
end if;
dbms_output.put_line('-------------普通循环--------------------');
--循环流程
loop
dbms_output.put_line(v_num);
v_num := v_num+1;
--表示当 v_num=10 的时候结束循环
exit when v_num=10;
end loop;
dbms_output.put_line('------------for循环--------------');
--v_i:表示定义一个int类型的变量 i; 1..10:表示i的双闭区间的取值范围(注意此处的格式,没有end for;标记; reverse:表示倒序输出)
for v_i in reverse 1..10
loop
dbms_output.put_line(v_i);
end loop;
dbms_output.put_line('------------自定义类型的查询--------------');
select ename,empno into emp_entity.ena,emp_entity.eno from emp where empno=7369;
dbms_output.put_line(emp_entity.ena || '---' || emp_entity.eno);
end;