对于PL/SQL编程,准确的说oracle数据库存储过程这一部分,哎呀,当初学习的时候感觉老难了。其实很简单,就是多学几遍,学不会再学。慢慢的,就可以搞定了。
心得传授完毕,言归正传。下面来讲一下plsql变量相关的知识:
先来看一下下面这段代码:
declare
v_num number(20);
begin
dbms_output.put_line('请输出:'||v_num);
end;
/
你猜结果会怎样?
没错,没有结果。很简单,其中v_num即为变量,现在变量还没有赋值嘛!
再来看一段代码:
declare
v_num number(20):=100;
begin
dbms_output.put_line('请输出:'||v_num);
end;
/
结果是:100
再来看一段代码:
declare
v_num constant number(20) not null:=100;
begin
v_num:=20;
dbms_output.put_line('请输出:'||v_num);
end;
/
结果是:语法错误
为什么呢?注意:constant表示该变量为常量。既然是常量,那就是不可改变的嘛!
再来看一段代码:
declare
v_eno emp.empno%type;
v_ename emp.ename%type;
begin
v_eno:=&empno;
select ename into v_ename from emp where empno=v_eno;
dbms_output.put_line('编号为'||v_eno||'的雇员的名字是:'||v_ename);
end;
/
这就是type类型的用法。
再来看一段代码:
declare
v_deptrow dept%rowtype;
begin
select * into v_deptrow from dept where deptno=10;
dbms_output.put_line(v_deptrow.dname||' '||v_deptrow.loc);
end;
/
以上就是deptrow的用法。
以上关于变量的部分实在是太简单了,这里就说到这。如果你连这些都搞不明白,oracle就不用再学了。