Oracle OCI操作UDT相关学习(二)
沿用 Oracle OCI操作UDT相关学习 一文中定义的类型和表。
1、更改数据
在sqldeveloper 中更新数据,
update dxl.cust set addr.street='a11' where addr.street ='aaa';
commit;
上边这个语句会报错,而如果采用下边这个语句操作则正确
update dxl.cust a set a.addr.street='a11' where a.addr.street ='aaa';
commit;
2、OCI 更改数据

同样的,如果在OCI中 SQL中的语句没有用别名来更新,会报错。
应该使用如下语句。

3 UTD 与 Logminer相关
3.1 insert 语句
insert into dxl.cust(id,addr) values(1, dxl.addr_type('aaa', 'b', 'c', 'd'));
commit;
由 logminer 抓取的结果如下
可以看到,col1 列就是 id; col2 列就是addr ; col3 列到col6 列都是addr下类型中个属性的值。这
这里 col2 只起到占位的作用(只有1个字节) 插入该列的数据为0。 可以参考 Oracle UDT有关数据字典的研究 一文中2.2 章节中的 addr列的属性。
3.2 update语句
update dxl.cust a set a.addr.street='a11' where a.addr.street ='aaa';
commit;
logminer 抓取的数据如下:

update dxl.cust a set a.id=234 where a.addr.street = 'a11';
commit;
logminer 抓取的数据如下

上边两个例子可以看到,如果不修改addr下的数据, col2 不会出现,如果涉及到修改addr下的列,则addr列(col2列)就会跟着一起更新。
3.3 delete 语句
delete dxl.cust a where a.addr.street = 'aaa';
commit;
logminer 抓取的数据如下

Oracle OCI操作UDT相关学习(二)的更多相关文章
- Oracle OCI操作UDT相关学习
1.Oracle数据类型 Oracle的数据类型如下 字符串类型 char nchar varchar2 nvarchar2 数值类型 int number integer smallint 日期类型 ...
- lua堆栈操作常用函数学习二
/* ** basic stack manipulation */ LUA_API int <strong> (lua_gettop) (lua_State *L); </str ...
- oracle 中proc和oci操作对缓存不同处理
oracle 中proc和oci操作对缓存不同处理
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- Oracle 参数文件及相关操作介绍
Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...
- Quartz学习--二 Hello Quartz! 和源码分析
Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...
- DocX开源WORD操作组件的学习系列四
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
随机推荐
- IE6 IE7 IE8 FF兼容符号
2.区别IE8.IE9 一般来说,我们写的结构比较好的时候,IE8/9下是没区别的.所以可能很少人关注只有IE8或只有IE9才识别的css hack. 因为IE8及以下版本是不支持CSS3的,但是我们 ...
- [ActionScript 3.0] 判断XML属性是否存在
在as3中判断xml节点是否存在以及判断xml某节点是否存在某属性可用下面方法: if(xml.hasOwnProperty("frameRate")){ trace(" ...
- Python2和Python3共存,pip共存
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份. 1.下载python3和python2 进入python官网,链接https:/ ...
- excel的公式:查找匹配某个值的单元格--MATCH()
这个非常简单,没啥说的,D1位置是显示这个值所在的行数,如果是跨表,就在匹配区域前面加上 sheetName!
- koa的中间件compose
用到的知识点: 1.bind函数 2.函数递归调用自身 3.promise 'use strict' /** * Expose compositor. */ module.exports = comp ...
- 安装Windows 64 位 mysql 最新版本解压包中没有data目录和my-default.ini及服务无法启动的快速解决办法
mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 首先安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini 配置环境变量 ...
- Python——Django学习笔记
Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...
- window.load方法 (加载全部图片,第三方网站时使用)
$(window).load( function(){ console.lo ...
- JavaScript跨浏览器处理事件以及相关对象
主流的浏览器和IE浏览器在处理事件和事件对象上是有所区别的,我们一般会通过EventUtil进行封装,这样,就可以正常的跨浏览器处理事件了,本文的主要内容总结自<JavaScript高级程序设计 ...
- Mongodb利用aggregation实现抽样查询(按记录数和时间)
之前对mongodb不熟,但是项目要用,因为数据量比较大,并且领导要实现抽样查询,控制数据流量,所以自己研究了下,亲测可用,分享一下! 话不多说,上代码: 第一种方案:加自增主键,实现按记录数抽样 1 ...