BLOB类型建表 create table "test1" ("A" integer,"B" char(32),"DOC_DATA" BLOB(100M)) 这样建表正确吗?这个BLOB类型的应该怎么来定义才行呢??请大家多指教啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "DOC_DATA" BLOB就可以 囧integer,Oracle不支持。楼主用的是Oracle? SQL> create table "test1" ( 2 "A" integer, 3 "B" char(32), 4 "DOC_DATA" BLOB 5 ) 6 /Table createdSQL> 更囧了。差点误导人了。PS:顺便翻了下资料学习了把:integer是ANSI支持的数据类型,Oracle兼容,但实际存储的是NUMBER类型,测试如下:SQL> create table "test1" ( 2 "A" integer, 3 "B" char(32), 4 "DOC_DATA" BLOB 5 ) 6 /Table created.SQL> DESC "test1"; Name Null? Type ----------------------------------------- -------- ---------------------------- A NUMBER(38) B CHAR(32) DOC_DATA BLOBSQL> SELECT dbms_lob.substr(DBMS_METADATA.GET_DDL('TABLE','test1')) FROM dual;DBMS_LOB.SUBSTR(DBMS_METADATA.GET_DDL('TABLE','TEST1'))-------------------------------------------------------------------------------- CREATE TABLE "AIMIG"."test1" ( "A" NUMBER(*,0), "B" CHAR(32), "DOC_DATA" BLOB ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "MY_TBS" LOB ("DOC_DATA") STORE AS ( TABLESPACE "MY_TBS" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10DBMS_LOB.SUBSTR(DBMS_METADATA.GET_DDL('TABLE','TEST1'))-------------------------------------------------------------------------------- NOCACHE LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))SQL>而在PL/SQL Developer里看到:create table test1( A INTEGER, B CHAR(32), DOC_DATA BLOB)tablespace MY_TBS pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );看样子PL/SQL Developer又把Oracle内部存储的格式“翻译”下。再MARK下,关于数据类型的一些说明:http://download.oracle.com/docs/cd/B19306_01/server.102/b14195/sqlqr06.htm 非常感谢大家的分析。可不知道blob类型的字段建表时怎么就不可以了。beyondme6对blob类型了解吗? create table "test1" ( "A" number, "B" varchar2(32), "DOC_DATA" blob ) 想让PLSQL Developer既能连接远程oracle又能连接本地的,该怎么设置 imp 遇到 603 错误 Oracle快速入门 为什么我用pl/sql中创建的oracle存储过程都是VALID的 都不能使用 Update 序号问题 SQL语法问题 ★500分求过程的例子(使用内容:创建临时表,使用临时表插入数据,然后返回临时表) 关于linux下操作oracle8i数据库的问题 ,急!!! sqlloader能否只load一部分字段? 关于Oracle查询结果格式转换的问题 oracle的简单检索 求身份证18位转15位函数
楼主用的是Oracle?
2 "A" integer,
3 "B" char(32),
4 "DOC_DATA" BLOB
5 )
6 /Table createdSQL>
PS:顺便翻了下资料学习了把:
integer是ANSI支持的数据类型,Oracle兼容,但实际存储的是NUMBER类型,测试如下:
SQL> create table "test1" (
2 "A" integer,
3 "B" char(32),
4 "DOC_DATA" BLOB
5 )
6 /Table created.SQL> DESC "test1";
Name Null? Type
----------------------------------------- -------- ---------------------------- A NUMBER(38)
B CHAR(32)
DOC_DATA BLOBSQL> SELECT dbms_lob.substr(DBMS_METADATA.GET_DDL('TABLE','test1')) FROM dual;DBMS_LOB.SUBSTR(DBMS_METADATA.GET_DDL('TABLE','TEST1'))
--------------------------------------------------------------------------------
CREATE TABLE "AIMIG"."test1"
( "A" NUMBER(*,0),
"B" CHAR(32),
"DOC_DATA" BLOB
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "MY_TBS"
LOB ("DOC_DATA") STORE AS (
TABLESPACE "MY_TBS" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10DBMS_LOB.SUBSTR(DBMS_METADATA.GET_DDL('TABLE','TEST1'))
-------------------------------------------------------------------------------- NOCACHE LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))SQL>而在PL/SQL Developer里看到:
create table test1
(
A INTEGER,
B CHAR(32),
DOC_DATA BLOB
)
tablespace MY_TBS
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
看样子PL/SQL Developer又把Oracle内部存储的格式“翻译”下。
再MARK下,关于数据类型的一些说明:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14195/sqlqr06.htm
可不知道blob类型的字段建表时怎么就不可以了。
beyondme6对blob类型了解吗?
"A" number,
"B" varchar2(32),
"DOC_DATA" blob
)