oracle 存储过程中如何用ROWID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 存储过程中如何用ROWID相关的知识,希望对你有一定的参考价值。

参考技术A 1
一般说来,ROWID不是普通的字符串,所以,在与字符比较或做其它运算的时候,需要做转换.
即:
ROWIDTOCHAR
(x.ROWID)
or
CHARTOROWID(xxxxxxx)
这样转换过后,应当能解决你面临的问题.
2
剔重的过程一般要根据实际情况来做.
比如有完全相同的记录,有按条件相同的记录(不完全相同),有固定重复次数的情况,有不是固定重复次数的情况...根据不同的情况,可以采用相应的简便办法.
当然,你可以编制统一的剔重过程,就一劳永逸了.流程也很简单,按照你"关心"的条件进行排序,开游标去一条一条的取,第一条和第二条比,按条件相同,删除其中一条,比如删除第二条,那就还用第一条去和第三条比,..直到不同,再用这条不同的和它相临的下一条比,再比到不同....
如果是完全相同的情况.....
按全表所有字段分组,取每组最大或最小的....将此查询建立成新表即可..

Oracle中如何用命令创建表空间?

oracle创建表空间有多种方法,如下:

方法1:
代码创建,如下:
SQL> edi
已写入 file afiedt.buf
1 create tablespace ts1
2 datafile \'F:\\oracle\\product\\10.2.0\\oradata\\orcl\\ts1.dbf\' size 100M
3 autoextend on next 1M maxsize 1000M
4* extent management local
SQL> /
表空间已创建。

方法2
用sqlplus,如下:
sqlplus / as sysdba
SQL>create tablespace tbsname datafile \'文件路径及文件名\' size 500m;

方法3
通过脚本创建,如下:
Create tablespace StartDB
datafile \'e:\\database\\oracle\\StartDB.dbf\'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local;
参考技术A 创建表空间:
create tablespace DATATEST datafile 'D:\SERVER\DATABASE\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATATEST.dbf' size 100M autoextend ON next 10M maxsize 200M;

创建临时表空间:
create temporary tablespace DATATEST_TEMP tempfile 'D:\SERVER\DATABASE\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATATEST_TEMP.dbf' size 50M autoextend ON next 10M maxsize 100M;
小写内容均为固定写法
参考技术B 在sql窗口中输入create tablespace 表空间名 datafile '路径' size 大小 ;
如:create tablespace test datafile 'D:\test.ora' size 100m;
参考技术C create tablespace MY_TEMP1
datafile 'C:\oracle\tablespace\MY_TEMP1.def' size 500M
autoextend on next 100M maxsize unlimited logging
extent management local autoallocate
segment space management auto;
参考技术D create tablespace 空间名
不过得有权限才行

以上是关于oracle 存储过程中如何用ROWID的主要内容,如果未能解决你的问题,请参考以下文章

请问如何用c++ 调用oracle存储过程?

Oracle面试题

Oracle中如何用SQL把字符串转换成整型

Oracle中如何用SQL把字符串转换成整型

ORACLE中如何用DBMS_OUTPUT包输出表的所有数据

Oracle 的伪列