编程实现!!!
用cb,delphi很好实现
用cb,delphi很好实现
解决方案 »
- [提问]无法创建runstats包,如何解决?
- ROW_NUMBER() OVER(PARTITION BY T.USER_NO ORDER BY T.BEGIN_DATE DESC) RN
- 求助一条简单的 PL/SQL编成
- 求一个oracle自带函数,返回大于或等于给出数字的最小整数
- 怎樣在win2000 server下安裝oracle 9i
- 对已修改的过程 如何单独编译 而不是 全部编译
- 如何用存储过程拆分字符串?
- 如何得到B表里最接近A表最大的一条记录
- 求得到表字段名的sql
- 想写一个存储过程,输入参数为表名(字符类型),能不能在存储过程中查询这个表的内容呢.在线等,,,感谢各位老大
- 《程序员》杂志记者:有谁是数据库管理员,请联系我!
- 删除字段的问题,很奇怪
VALUES (BFILENAME ('bfile_dir', 'image1.gif'));
你这样说,我还是不会的
TO jlandzpa(欧高黎嘉陈)
谢谢!可是还是不行的
pl/sql的例子:create table demo_doc(
NAME VARCHAR(128) UNIQUE NOT NULL,
MIME_TYPE VARCHAR(128),
DOC_SIZE NUMBER,
DAD_CHARSET VARCHAR(128),
LAST_UPDATED DATE,
CONTENT_TYPE VARCHAR(128),
CONTENT LONG RAW,
BLOB_CONTENT BLOB
);create or replace procedure firstwrite(pkey out varchar2) is
Blobtype blob default null;
begin
pkey := to_char(sysdate,'YYYYMMDDHH24MISS');
insert into demo_doc (name,MIME_TYPE,CONTENT_TYPE,BLOB_CONTENT) values
(pkey,'text/plain','BLOB',empty_blob());
commit;
end firstwrite;
/
show errorscreate or replace procedure write(buffer in RAW,len in BINARY_INTEGER,pkey in varchar2) is
Blobtype blob default null;
BlobLen number default 0;
begin select BLOB_CONTENT into Blobtype from demo_doc where name = pkey FOR UPDATE;
BlobLen := DBMS_LOB.GETLENGTH(Blobtype);
if ((len = 2) and (BlobLen=0)) then
return;
end if; if (Blobtype is null) then
DBMS_LOB.WRITE(Blobtype,len,0,buffer);
else
DBMS_LOB.WRITEAPPEND(Blobtype,len,buffer);
end if; update demo_doc set BLOB_CONTENT=Blobtype where name=pkey; commit;
end write;
/
show errors
key NUMBER PRIMARY KEY,
clob_col CLOB,
blob_col BLOB,
bfile_col BFILE
);DELETE FROM lobdemo
WHERE key IN (50, 51, 60, 61);-- The following two INSERTs will add twp rows to the table.
INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)
VALUES (50, 'This is a character literal',
HEXTORAW('FEFEFEFEFEFEFEFEFEFE'),
NULL);INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)
VALUES (51, 'This is another character literal',
HEXTORAW('ABABABABABABABABABAB'),
NULL);-- We can also do INSERTs with the results of a query. The
-- following will copy rows 50 and 51 to 60 and 61.
INSERT INTO lobdemo
SELECT key + 10, clob_col, blob_col, NULL
FROM lobdemo
WHERE key IN (50, 51);-- This statement will update blob_col to a new value.
UPDATE lobdemo
SET blob_col = HEXTORAW('CDCDCDCDCDCDCDCDCDCDCDCD')
WHERE key IN (60, 61);-- And finally, we can delete row 61.
DELETE FROM lobdemo
WHERE key = 61;COMMIT;
使用java,文件读写和blob的操作都是以流的形式完成的。把文件的输入流和blob的输出流接通就ok了。