%TYPE和%ROWTYPE
2016-06-08 15:45
190 查看
%TYPE和%ROWTYPE有什么不同
熟悉PL/SQL的同志都知道,%type和%rowtype常用来在PL/SQL中定义变量.
%type和%rowtype都是在database中定义的类型,使用%type和%rowtype的好处是
1)减少PL/SQL代码的维护成本
2)自适应表结构的变化[比如字段的长度,精度发生变化]
%TYPE
%TYPE用来声明一个变量和指定表的column一样的数据类型,比如
DECLARE v_EmpName emp.ename%TYPE;
BEGIN
SELECT ename INTO v_EmpName FROM emp WHERE ROWNUM = 1;
DBMS_OUTPUT.PUT_LINE('Name = ' || v_EmpName); END;
/ %ROWTYPE
%ROWTYPE用来声明一个和表中记录一样的record.如
DECLARE v_emp emp%ROWTYPE;
BEGIN v_emp.empno := 10;
v_emp.ename := 'XXXXXXX'; END; /
DECLARE v_EmpRecord emp%ROWTYPE;
BEGIN
SELECT * INTO v_EmpRecord FROM emp WHERE ROWNUM = 1;
DBMS_OUTPUT.PUT_LINE('Name = ' || v_EmpRecord.ename);
DBMS_OUTPUT.PUT_LINE('Salary = ' || v_EmpRecord.sal); END; /
熟悉PL/SQL的同志都知道,%type和%rowtype常用来在PL/SQL中定义变量.
%type和%rowtype都是在database中定义的类型,使用%type和%rowtype的好处是
1)减少PL/SQL代码的维护成本
2)自适应表结构的变化[比如字段的长度,精度发生变化]
%TYPE
%TYPE用来声明一个变量和指定表的column一样的数据类型,比如
DECLARE v_EmpName emp.ename%TYPE;
BEGIN
SELECT ename INTO v_EmpName FROM emp WHERE ROWNUM = 1;
DBMS_OUTPUT.PUT_LINE('Name = ' || v_EmpName); END;
/ %ROWTYPE
%ROWTYPE用来声明一个和表中记录一样的record.如
DECLARE v_emp emp%ROWTYPE;
BEGIN v_emp.empno := 10;
v_emp.ename := 'XXXXXXX'; END; /
DECLARE v_EmpRecord emp%ROWTYPE;
BEGIN
SELECT * INTO v_EmpRecord FROM emp WHERE ROWNUM = 1;
DBMS_OUTPUT.PUT_LINE('Name = ' || v_EmpRecord.ename);
DBMS_OUTPUT.PUT_LINE('Salary = ' || v_EmpRecord.sal); END; /
相关文章推荐
- mybatis There is no getter for property named 'xx' in 'class java.lang.String
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
- 为你的Android App实现自签名的 SSL 证书
- tp 多文件上传,文件及时预览
- 【算法题】题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度
- HDU 4770 Lights Against Dudely(暴力)
- 提莫惨遭四名队友围殴
- Ubuntu16.04 VNC Server 配置
- Oracle数据库:下载与安装图解
- 工程里面NSLog的处理方法
- java处理日期时间的方法
- android layout_weight讲解
- JQ添加移除css样式
- matlab GUI之常用对话框(三)-- dialog \ errordlg \ warndlg \ helpdlg \ msgbox \questdlg
- 项目开发日常小结
- push or get File or Folder using scp wrapped with expect and bash
- python: indentationerror: unexpected indent
- Number of 1 Bits
- mysql —— 分表分区
- 如何触发<z:select>值改变事件