-oracle数据库恢复-Raid5数据恢复-RAID0数据恢复oracle 开发区 → 查看oracle数据表字段类型出现的问题


  共有4660人关注过本帖树形打印

主题:查看oracle数据表字段类型出现的问题

oracle数据恢复-RAID5数据恢复-raid数据恢复
withjun
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:新手上路 帖子:13 积分:152 威望:0 精华:0 注册:2007-2-6 10:24:54
查看oracle数据表字段类型出现的问题  发帖心情 Post By:2007-3-15 13:23:14

俺建了一个表:

CREATE TABLE web_LinkSortbak (
LinkSortID int NOT NULL ,
LinkSortName varchar2 (50) NOT NULL ,
CreatorID varchar2 (20) NOT NULL ,
OperatorID varchar2 (20) NOT NULL ,
CreateDateTime date NOT NULL ,
UpdateDateTime date NOT NULL ,
DeleteFlag00 number NOT NULL ,

DeleteFlag1 number(1) NOT NULL ,
DeleteFlag2 number(2) NOT NULL ,
DeleteFlag3 number(3) NOT NULL ,
DeleteFlagC Char(1) NOT NULL ,
StatusFlag int NOT NULL
)
;

当使用


Select *
from user_tab_columns
where table_Name =upper(trim('WEB_LINKSORTBAK')) order by Column_ID


这个SQL语句查看这个表在oracle里面建的数据表的字段类型 时
发现俺的字段原来是 int 的,也会变成 number 的
但是俺用 desc WEB_LINKSORTBAK 却是可以显示正确的字段类型
为啥啊?


请各位大哥指教


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
withjun
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:新手上路 帖子:13 积分:152 威望:0 精华:0 注册:2007-2-6 10:24:54
  发帖心情 Post By:2007-3-15 13:35:42

但是如果你用 PL/SQL command window


输入 desc 表名


这样居然可以显示出正确的字段类型,真让人郁闷


有人说用 %type 这个属性,但是俺不太会用这个东西


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  3楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
  发帖心情 Post By:2007-3-15 13:47:59

首先我们得表结构对于int float 一类得字段在数据库得基表中保存得类型是number 型得,这个可以通过查询 select col#,name,segcol#,type#,intcol# ,charsetid from col$ where obj#=xxxx获得



www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  4楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
  发帖心情 Post By:2007-3-15 13:50:53

而现在我测试得数据库中int 也是显示number 类型得,我得ORACLE是9200 ,不知道你得数据库什么版本


www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  5楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
  发帖心情 Post By:2007-3-15 13:52:06

create table a02(a0201 varchar2(10),a0202 int,a0203 float)


desc a02
Name Null? Type

A0201 VARCHAR2(10)
A0202 NUMBER(38)
A0203 FLOAT(126)



www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  6楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
  发帖心情 Post By:2007-3-15 13:54:30

select col#,name,segcol#,type#,intcol# ,charsetid from col$ where obj#=32048;



COL# NAME SEGCOL# TYPE# INTCOL# CHARSETID
---------- ------------------------------ ---------- ---------- ---------- ----------
1 A0201 1 1 1 852
2 A0202 2 2 2 0
3 A0203 3 2 3 0



www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  7楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
  发帖心情 Post By:2007-3-15 14:15:00

SQL> create table a02(a0201 varchar2(10),a0202 int ,a0203 float,a0204 number(8,2));


Table created


SQL> desc a02
Name Type Nullable Def***t Comments
----- ------------ -------- ------- --------
A0201 VARCHAR2(10) Y
A0202 NUMBER Y
A0203 FLOAT Y
A0204 NUMBER(8,2) Y


上面得DESC 并没显示 a0202 int 这样得!



www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
withjun
  8楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:新手上路 帖子:13 积分:152 威望:0 精华:0 注册:2007-2-6 10:24:54
  发帖心情 Post By:2007-3-15 14:23:14

我用的是9i 的版本


晕了 在 SQL*Plus 里面显示的确实是number(38)


但是俺用PL/SQL Developer 的却是


SQL> desc web_linksortbak;
Name Type Nullable Def***t Comments
-------------- ------------ -------- ------- --------
LINKSORTID INTEGER
LINKSORTNAME VARCHAR2(50)
CREATORID VARCHAR2(20)
OPERATORID VARCHAR2(20)
CREATEDATETIME DATE
UPDATEDATETIME DATE
DELETEFLAG00 NUMBER
DELETEFLAG1 NUMBER(1)
DELETEFLAG2 NUMBER(2)
DELETEFLAG3 NUMBER(3)
DELETEFLAGC CHAR(1)
STATUSFLAG INTEGER


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
withjun
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:新手上路 帖子:13 积分:152 威望:0 精华:0 注册:2007-2-6 10:24:54
  发帖心情 Post By:2007-3-15 14:25:22

我的数据表是用 PL/SQL Developer 7.0.0.1500 建的


用它的 Command window 使用 desc web_linksortbak;
是可能显示出字段的类型,不过却不是 int 而是 integer


怪了


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
oracle数据恢复-RAID5数据恢复-raid数据恢复
withjun
  10楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:新手上路 帖子:13 积分:152 威望:0 精华:0 注册:2007-2-6 10:24:54
  发帖心情 Post By:2007-3-15 14:28:17

select * from SYS.COL$ WHERE OBJ#=32130(表ID)


查出来的字段类型 type# 的值 int 字段和 number 字段的也确实是 2


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 17 1 2 下一页

返回版面帖子列表

查看oracle数据表字段类型出现的问题








签名