一、pl/sql编程
用scott账号登录(若不知密码,请使用方法重置),完成下列练习。
1.输出变量
set serveroutput on--开启显示功能
declare
name VARCHAR2(20):='faafaf';
begin
dbms_output.put_line(name);
end;
/--结束符号
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;
/
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;
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;
/
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;
/
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;
二、查询综合练习
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插入时用。查看