一、pl/sql编程

用scott账号登录(若不知密码,请使用方法重置),完成下列练习。

1.输出变量

set serveroutput on--开启显示功能

declare
name VARCHAR2(20):='faafaf';
begin
dbms_output.put_line(name);
end;
/--结束符号

备注:只能使用单引号,多个空格也不行。


2.select ... into 语句赋值,其结果必须是一行,不能多行或无纪录。

select ename from scott.emp where empno=7934;
declare
name varchar2(50) default 'null';
begin
select ename into name from scott.emp where empno='7934';
dbms_output.put_line(name);
end;
/

3.if语句(课本P193)练习。

declare
m number;
n number;
begin
m:=10;
n:=20;
if m-n>=0 then
dbms_output.put_line(m||'>'||n);--||合并列显示
end if;
dbms_output.put_line(m||'<'||n);
end;

4.case语句(课本P195)练习。

declare
xf number;
begin
select sal into xf from scott.emp where empno=7934;
case
when xf>2500 then
dbms_output.put_line('你的钱好多啊');
when xf>1500 then
dbms_output.put_line('你的钱好多啊2');
else
dbms_output.put_line('你的钱好多啊3');
end case;
dbms_output.put_line('wc');
end;
/

5.loop语句练习。

create table scott.temp(id number);--建临时表语句
declare
i integer:=1;
begin
loop
insert into scott.temp values (i);
exit when i=10;
i:=i+1;
end loop;
end;
/
select * from scott.tmep;

二、查询综合练习

1.显示当前的所有用户表

select table_name from user_tables;

2.SELECT * FROM SCOTT.EMP WHERE (JOB)=(SELECT JOB FROM SCOTT.EMP WHERE EMPNO=7902);

3.update emp set (job,sal)=(select job,sal from emp where Ename="smith") where Ename="scott";

4.to_char显示时间日期时用,to_date插入时用。查看