Oracle过程语句

--过程语句
select * from wan3;
--三段式 先写固定结构 declare begin end
declare
a varchar2 (6) :='ere';
begin
DELETE FROM wan3 WHERE ename=a;
end;

--
DECLARE
v_deptno NUMBER;
v_dname VARCHAR2(100);
BEGIN
INSERT INTO wan3
VALUES
('hfe',15,5411,sysdate,null,null);
END;

--条件语句 if case
--注意变量命名的类型问题
declare
v_ename varchar2 (6);
v_sal wan3.sal%type; --可以用已知类型的 关键字 %
begin
select name into v_ename from wan3 where name='jh';
dbms_output.put_line('输出的名字是:'||v_ename);
select sal into v_sal from wan3 where age=30;
--固定格式输出 连接用||
dbms_output.put_line(v_ename||'的工资是:'||v_sal);
--if 用法
if v_sal <7000 then
dbms_output.put_line(v_ename||'的工资小于8000');
else
dbms_output.put_line(v_ename||'的工资是.自己更好:'||v_sal);
end if ;

end ;

----条件语句 case
declare
v_sal number := 3000;
a varchar2(50) ;
begin
--给变量a 赋值 里面是一个case表达式
a :=
case v_sal
when 5000 then '我的工资是5000'
when 4500 then '我的工资是4500'
else '没有你的工资'
end;
dbms_output.put_line('看都是不可个::'||a);
end ;


--循环语句 loop exit when 是必须的 退出循环
declare
a number(3) :=0; --声明变量并赋值
begin
loop --循环开始位置
a :=a+2;
dbms_output.put_line('a的当前值是:'||a);
exit when a=10; --循环退出条件
end loop; --循环结束
end;

--while 循环
declare
a number(5) ;
begin
select sal into a from wan3 where age=30;
dbms_output.put_line(a);
while a<10000 --条件为真的时候才执行
loop
dbms_output.put_line('a的值是:'||a);
a:=a+500;
end loop;
end;


--for循环语句
declare
a number(5) ;
begin
for a in reverse 1..3 loop --for 循环计数器 in 下限..上限 依次升高(如果加入reverse则减小)
insert into wan3 values ('85fe',15,5411,sysdate,null,null); --插入数据
end loop;
end;


select * from wan;

delete from wan3 where age=15;
--同时删除多列
alter table wan3 drop (kjj,age);
--重新命名列
alter table wan3 rename column sal to salll
--重新命名表名
rename wan3 to wan

 

posted on 2017-07-26 19:24  -薛凯-  阅读(445)  评论(0编辑  收藏  举报

导航