oracle数据库sql语句翻译
下面这段话什么意思,最好逐行翻译 谢了
CREATE OR REPLACE PROCEDURE loadLOBFromBFILE_proc(TID IN NUMBER,rfilename in varchar2,rfiledir in varchar2,upmessage out varchar2)
AS
Dest_loc BLOB;
Src_loc BFILE;
BEGIN
INSERT INTO BLOBTEST(ID,ABLOB) VALUES(TID,EMPTY_BLOB()) RETURN ABLOB INTO DEST_LOC;
Src_loc := BFILENAME(rfiledir,rfilename);
追问:BFILENAME 我弄懂了
但我要是在一个字段里面插入两个或多个图片改怎么办呢
下面的sql语句就是向bfiletest表中插入picture目录下的lovel.jpg图片
INSERT INTO bfiletest VALUES('1',BFILENAME('PICTURE','lovely.jpg'))
picture目录下还有一张图片 tom.jpg
如果把这两张图片放在一个bfile字段里面呢rfilename in varchar2是加入一个varchar2类型的变量rfilename
rfiledir in varchar2是加入一个varchar2类型的变量rfiledir
upmessage out varchar2是什么呢 也是加入变量?为什么别人是in 它是out 应该有区别吧
TID IN NUMBER是什么意思
在向表中插入数据的时候 EMPTY_BLOB()) 是什么东西,
答案:CREATE OR REPLACE PROCEDURE -- 建立或替换存储过程
loadLOBFromBFILE_proc -- 存储过程名
(TID IN NUMBER,rfilename in varchar2,rfiledir in varchar2,upmessage out varchar2)
-- 参数列表
-- 参数名 参数类型 参数数据类型
-- TID IN NUMBER
-- rfilename in varchar2
-- rfiledir in varchar2
-- upmessage out varchar2
-- IN 代表输入参数 OUT 代表输出参数
AS -- 关键字
Dest_loc BLOB; -- 定义变量DEST_LOC的数据类型为BLOB
Src_loc BFILE; -- 定义变量SRC_LOC的数据类型为BFILE
BEGIN
INSERT INTO BLOBTEST(ID,ABLOB) VALUES (TID, EMPTY_BLOB()) RETURN ABLOB INTO DEST_LOC;
-- 向BLOBTEST表插入数据,EMPTY_BLOB()是个系统函数 返回空的BLOB
-- RETURN ABLOB INTO DEST_LOC 是将刚插入的数据中的 ABLOB列中的数据放到DESC_LOC变量中
Src_loc := BFILENAME(rfiledir, rfilename);
-- BFILENAME 是个函数 返回 BFILE类型数据 参数1是文件所在目录 参数2是文件名。
其他:创建了存储过程, 其中有些变量, 功能是插入新值
上一个:oracle中将原有的年、月、日个字段整合成日期形式插入数据库?
下一个:oracle创建数据库时盘符打不开了