在oracle中如何用declare声明变量
答案:2 悬赏:10 手机版
解决时间 2021-04-03 07:28
- 提问者网友:沦陷
- 2021-04-03 04:15
在oracle中如何用declare声明变量
最佳答案
- 五星知识达人网友:七十二街
- 2021-04-03 05:01
先说一下你的问题,declare在oracle中指代的是“块”,用于处理一段业务逻辑的。
声明块中的变量,只需要在块里面的最前面输入声明即可。
示例:
declare
//这两个声明是声明了一个游标
type cursor_type is ref cursor;
cursor_deptno cursor_type;
//这下面2个变量的声明,使用的是emps表下面的sal或ename字段的类型,你也可以直接定义
v_sal emps.sal%type;
v_name emps.ename%type;
//你也可以这样,直接赋值,当然了,oracle里的赋值是需要使用“:=”,只用“=”报错
i number :=0;
begin
open cursor_deptno for select ename,sal into v_name,v_sal from emps
where deptno = &input deptno;
loop fetch cursor_deptno into v_name,v_sal; -- 循环体
if v_sal < 2000 then -- 判断
update scott.emps set sal = v_sal + 101 where ename = v_name;
end if;
exit when cursor_deptno%notfound; -- 当取完了即结束
dbms_output.put_line('Name:'|| v_name ||' Sal:'|| v_sal);
end loop;
end;
声明块中的变量,只需要在块里面的最前面输入声明即可。
示例:
declare
//这两个声明是声明了一个游标
type cursor_type is ref cursor;
cursor_deptno cursor_type;
//这下面2个变量的声明,使用的是emps表下面的sal或ename字段的类型,你也可以直接定义
v_sal emps.sal%type;
v_name emps.ename%type;
//你也可以这样,直接赋值,当然了,oracle里的赋值是需要使用“:=”,只用“=”报错
i number :=0;
begin
open cursor_deptno for select ename,sal into v_name,v_sal from emps
where deptno = &input deptno;
loop fetch cursor_deptno into v_name,v_sal; -- 循环体
if v_sal < 2000 then -- 判断
update scott.emps set sal = v_sal + 101 where ename = v_name;
end if;
exit when cursor_deptno%notfound; -- 当取完了即结束
dbms_output.put_line('Name:'|| v_name ||' Sal:'|| v_sal);
end loop;
end;
全部回答
- 1楼网友:街头电车
- 2021-04-03 05:23
很容易搜到的不是!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯