declare
v_name varchar2(30) :='t02班级';
begin
dbms_output.put_line(v_name||'同学们,上午好');
end;
声明部分:
declare
变量名 变量类型(长度) :='变量值';(分号不要忘记)
范例:
v_name varchar2(30) :='t0
变量名 变量类型 default 默认值;(分号不要忘记)
范例:
v_sal number default 10000;
变量名 constant number(4,3) :=0.037 (constant 用来定义一个常量)
范例:
v_income number(10,3) :=0.037;
匹配表中的类型语法
v_name teacher.tname%type;
begin部分
在declare部分 声明了变量,一般在begin部分进行赋值操作 使用into关键字
select tname,sal into v_name,v_sal from teacher where tno = 1004;
解释:查询teacher表 把tno字段等于1004的tname sal 赋值给变量v_name, v_sal
范例:
declare
v_sal emp.sal%type;
begin
select e.sal into v_sal from emp e where e.ename='SMITH';
dbms_output.put_line('scott的薪水是:'||v_sal);
end;
begin中的条件控制语法
1.if
if then elsif else end if;
2.case
case when then else end case;
控制语法的实例使用:
要求 对SMITH的薪水进行判断
<2000 临时工
2000-15000 蓝领
15000-40000 白领
>40000 金领
具体实现代码:
declare
v_sal emp.sal%type;
begin
select e.sal
into v_sal
from emp e
where e.ename='SMITH';
if v_sal<2000 then
dbms_output.put_line('薪水是:'||v_sal||'是临时工');
elsif v_sal between 2000 and 15000 then
dbms_output.put_line('薪水是:'||v_sal||'是白领');
elsif v_sal between 15000 and 40000 then
dbms_output.put_line('薪水是:'||v_sal||'是蓝领');
else
dbms_output.put_line('薪水是:'||v_sal||'是金领');
end if ;(不要忘记这个分号)
end;
循环语法的运用
1.loop使用 普通的循环
loop
end loop;
范例:
declare
v_start number :=0;
begin
loop
insert into dept values(序列.nextval,
'部门'||v_start, '地址 '||v_start)
v_start :=v_start+1;
exit when v_start >100;
end loop;
end;
2.while 循环
while 条件 loop
变量赋值
end loop;
范例:(部分代码)
while v_temp <100 loop
v_max_deptnum := v_max_deptnum+1;
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
v_temp:=v_temp+1;
end loop;
3.for 循环(优势 变量不用声明)
for loop
end loop;
范例:
for v_temp in v_max_deptnum+1..v_max_deptnum1+100
loop
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
end loop;
v_name varchar2(30) :='t02班级';
begin
dbms_output.put_line(v_name||'同学们,上午好');
end;
声明部分:
declare
变量名 变量类型(长度) :='变量值';(分号不要忘记)
范例:
v_name varchar2(30) :='t0
变量名 变量类型 default 默认值;(分号不要忘记)
范例:
v_sal number default 10000;
变量名 constant number(4,3) :=0.037 (constant 用来定义一个常量)
范例:
v_income number(10,3) :=0.037;
匹配表中的类型语法
v_name teacher.tname%type;
begin部分
在declare部分 声明了变量,一般在begin部分进行赋值操作 使用into关键字
select tname,sal into v_name,v_sal from teacher where tno = 1004;
解释:查询teacher表 把tno字段等于1004的tname sal 赋值给变量v_name, v_sal
范例:
declare
v_sal emp.sal%type;
begin
select e.sal into v_sal from emp e where e.ename='SMITH';
dbms_output.put_line('scott的薪水是:'||v_sal);
end;
begin中的条件控制语法
1.if
if then elsif else end if;
2.case
case when then else end case;
控制语法的实例使用:
要求 对SMITH的薪水进行判断
<2000 临时工
2000-15000 蓝领
15000-40000 白领
>40000 金领
具体实现代码:
declare
v_sal emp.sal%type;
begin
select e.sal
into v_sal
from emp e
where e.ename='SMITH';
if v_sal<2000 then
dbms_output.put_line('薪水是:'||v_sal||'是临时工');
elsif v_sal between 2000 and 15000 then
dbms_output.put_line('薪水是:'||v_sal||'是白领');
elsif v_sal between 15000 and 40000 then
dbms_output.put_line('薪水是:'||v_sal||'是蓝领');
else
dbms_output.put_line('薪水是:'||v_sal||'是金领');
end if ;(不要忘记这个分号)
end;
循环语法的运用
1.loop使用 普通的循环
loop
end loop;
范例:
declare
v_start number :=0;
begin
loop
insert into dept values(序列.nextval,
'部门'||v_start, '地址 '||v_start)
v_start :=v_start+1;
exit when v_start >100;
end loop;
end;
2.while 循环
while 条件 loop
变量赋值
end loop;
范例:(部分代码)
while v_temp <100 loop
v_max_deptnum := v_max_deptnum+1;
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
v_temp:=v_temp+1;
end loop;
3.for 循环(优势 变量不用声明)
for loop
end loop;
范例:
for v_temp in v_max_deptnum+1..v_max_deptnum1+100
loop
insert into dept_loop
values(sq_dept_loop.nextval,'部门');
end loop;