SQL中的%type怎么样用?表示什么?

 我来答
百度网友94c0d86
2012-10-29
知道答主
回答量:13
采纳率:0%
帮助的人:9.4万
展开全部
如下,在oracle中,定义一个存储过程,“tempno in emp.empno%type ”的意思是,tempno 的数据类型和emp表的empno列的数据类型相同;这就是%type 的用处

create or replace procedure testone(tempno in emp.empno%type)
is
tsal emp.sal%type:=0;
begin
select sal into tsal from emp where empno=tempno;
if tsal=0 then
dbms_output.put_line('没有此员工.');
else
dbms_output.put_line('工资:'||tsal);
end if;
end testone;
追问
还是不很懂,如果我修改了emp类型,如原来是number (7,3)现改成(5,2)了,那empno 会变吗?
追答
这个就是看存储过程本身的工作机制了,是一次性的编译还是每次的调用时重新编译解析了。应该是每次的调用,重新解析存储过程。也就是说,empno 也会变。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式