网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle Online Redo LogFile 全面.
.Oracle9i在RedHat7.1/7.2上的安装.
.Oracle9i 安装手记.
.Oracle 10g数据库中闪回表特性剖.
.过程,函数,程序包.
.主题数据库的特征是什么?.
.JDBC存取Oralce数据库的注意几点.
.如何对CLOB字段进行全文检索?.
.查找Oracle版本信息的简便方法介.
.Oracle 9i 在Linux 下的安装 (下).
.在linux下架设自己的mudos服务.
.网管要用Linux.
.在Linux下的Oracle 用脚本建库实.
.讲解SQL与Oracle外键约束中的级联.
.利用Oracle自带的连接池类的一例.
.轻松掌握oracle数据库开发中序列.
.rman备份,未用catalog,控制文件丢.
.Oracle JDeveloper 11g预览版发布.
.ORACLE问题,每天10问(七).
.巧妙转换ORACLE数据库字符集.

一个存储过程,关于blob

发表日期:2008-2-9



  好坏给点意见,谢了
  
  
  代码:--------------------------------------------------------------------------------
  create or replace procedure ps_cmpimage(
   p_srtid in cmpimage.cimg_srtid%type,
   p_id in cmpimage.cimg_id%type,
   p_filename in varchar2,
   p_title in cmpimage.cimg_title%type,
   p_flag in number,
   p_rowid in rowid)
   is
   image BLOB;
   sourcefile BFILE;
   cursor cur_cmpimage is
   select a.cimg_count,a.cimg_idate from cmpimage a
   where a.rowid=p_rowid;
   rowimage cur_cmpimage%rowtype;
  BEGIN
   if p_flag=0 then
   INSERT INTO cmpimage (cimg_srtid,cimg_id,cimg_image,cimg_title)
   VALUES (p_srtid,p_id,EMPTY_BLOB,p_title)
   RETURNING cimg_image INTO image;
   sourcefile := BFILENAME('PHOTO_DIR',p_filename);
   DBMS_LOB.OPEN(sourcefile, DBMS_LOB.LOB_READONLY);
   DBMS_LOB.LOADFROMFILE(image,sourcefile,DBMS_LOB.GETLENGTH(sourcefile));
   else
   if p_filename is null then
   update cmpimage a
   set a.cimg_srtid=p_srtid,a.cimg_id=p_id,a.cimg_title=p_title
   where a.rowid=p_rowid;
   else
   update cmpimage a
   set a.cimg_srtid=p_srtid,a.cimg_id=p_id,a.cimg_title=p_title
   where a.rowid=p_rowid;
   select a.cimg_image into image from cmpimage a
   where a.rowid=p_rowid
   for update;
   sourcefile := BFILENAME('PHOTO_DIR',p_filename);
   DBMS_LOB.OPEN(sourcefile, DBMS_LOB.LOB_READONLY);
   DBMS_LOB.LOADFROMFILE(image,sourcefile,DBMS_LOB.GETLENGTH(sourcefile));
   end if;
   end if;
   commit;
  end ps_cmpimage;--------------------------------------------------------------------------------
  
  
  相关:
  -- Create Directory
  create or replace directory PHOTO_DIR
  as 'C:\WINNT\TEMP\';
  --grant
  grant create any directory to 用户
上一篇:NULL 小议 人气:569
下一篇:Oracle编程经验及维护点滴 人气:601
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐