oracle数据库sql语句翻译

下面这段话什么意思,最好逐行翻译谢了CREATEORREPLACEPROCEDUREloadLOBFromBFILE_proc(TIDINNUMBER,rfilename... 下面这段话什么意思,最好逐行翻译 谢了
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);
展开
 我来答
sxdtgsh
推荐于2017-11-06 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:807万
展开全部
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是文件名。
追问
BFILENAME 我弄懂了
但我要是在一个字段里面插入两个或多个图片改怎么办呢
下面的sql语句就是向bfiletest表中插入picture目录下的lovel.jpg图片
INSERT INTO bfiletest VALUES('1',BFILENAME('PICTURE','lovely.jpg'))
picture目录下还有一张图片 tom.jpg
如果把这两张图片放在一个bfile字段里面呢
追答
可以将两个文件压缩成一个文件 用的时候在解压缩,或者是向bfiletest表插入两条记录。
zhoudha
生活家

2017-11-06 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:188万
展开全部
CREATE OR REPLACE PROCEDURE loadLOBFromBFILE_proc(TID IN NUMBER,rfilename in varchar2,rfiledir in varchar2,upmessage out varchar2)
-- 定义名为loadLOBFromBFILE_proc的存储过程,TID、rfilename、rfiledir是输入参数,upmessage是输出参数
AS
Dest_loc BLOB;
-- 定义Dest_loc为二进制大数据类型
Src_loc BFILE;
-- 定义Src_loc为二进制文件类型
BEGIN
INSERT INTO BLOBTEST(ID,ABLOB) VALUES(TID,EMPTY_BLOB()) RETURN ABLOB INTO DEST_LOC;
-- 向BLOBTEST表中插入一条数据,ID的值为TID,ABLOB的值为空
Src_loc := BFILENAME(rfiledir,rfilename);
-- 给变量Src_loc赋值(指定实际的二进制文件)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邋遢道神通7
2012-03-10 · TA获得超过406个赞
知道小有建树答主
回答量:236
采纳率:37%
帮助的人:110万
展开全部
创建了存储过程, 其中有些变量, 功能是插入新值
追问
rfilename in varchar2是加入一个varchar2类型的变量rfilename
rfiledir in varchar2是加入一个varchar2类型的变量rfiledir
upmessage out varchar2是什么呢 也是加入变量?为什么别人是in 它是out 应该有区别吧
TID IN NUMBER是什么意思
在向表中插入数据的时候 EMPTY_BLOB()) 是什么东西,
追答
抱歉,我对oracle语法不是很了解,我是sql server, out应该是输出参数,in的是输入参数,
后面的 应该是系统函数,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式