加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Oracle sql中“%Type”是什么意思?

发布时间:2020-12-12 14:13:13 所属栏目:百科 来源:网络整理
导读:我得到了我的第一个经验与Oracle和TOAD(我知道SSMS)。我在更新过程中遇到一个输入参数旁边的“%Type”,我不知道它是什么或它的意思。我发现Google上的链接与“%Rowtype”有关。是同样的东西还是完全不同的东西? 如果这是模糊的,我道歉。一如既往,感谢
我得到了我的第一个经验与Oracle和TOAD(我知道SSMS)。我在更新过程中遇到一个输入参数旁边的“%Type”,我不知道它是什么或它的意思。我发现Google上的链接与“%Rowtype”有关。是同样的东西还是完全不同的东西?

如果这是模糊的,我道歉。一如既往,感谢您的帮助。

Oracle(和 PostgreSQL)有:

>%TYPE
>%ROWTYPE

%类型

%TYPE用于声明与现有表中的列的数据类型相关的变量:

DECLARE v_id ORDERS.ORDER_ID%TYPE

这里的好处是,如果数据类型改变,则可变数据类型保持同步。

参考:http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/fundamentals.htm#i6080

%ROWTYPE

This is used in cursors to declare a single variable to contain a single record from the resultset of a cursor or table without needing to specify individual variables(及其数据类型)。例如:

DECLARE
  CURSOR c1 IS
     SELECT last_name,salary,hire_date,job_id 
       FROM employees 
      WHERE employee_id = 120;

  -- declare record variable that represents a row fetched from the employees table
  employee_rec c1%ROWTYPE; 

BEGIN
 -- open the explicit cursor and use it to fetch data into employee_rec
 OPEN c1;
 FETCH c1 INTO employee_rec;
 DBMS_OUTPUT.PUT_LINE('Employee name: ' || employee_rec.last_name);
END;
/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读