比如 mmmm.jpg 如何存入photo表?

解决方案 »

  1.   

    举例:
    SQL>  CREATE TABLE IMAGE_LOB (
      2    T_ID VARCHAR2 (5) NOT NULL,
      3    T_IMAGE BLOB NOT NULL
      4  );
     
    Table created--创建DIRECTORY 必须有系统权限
    SQL> CREATE OR REPLACE DIRECTORY IMAGES AS 'e:\';
     
    Directory created
     
    SQL> 
    SQL> CREATE OR REPLACE PROCEDURE IMG_INSERT (
      2  TID           VARCHAR2,
      3  FILENAME      VARCHAR2) AS
      4  F_LOB   BFILE;
      5  B_LOB   BLOB;
      6  BEGIN
      7  INSERT INTO IMAGE_LOB (T_ID, T_IMAGE) VALUES (TID,EMPTY_BLOB ()) RETURN T_IMAGE INTO B_LOB;
      8  F_LOB:= BFILENAME ('IMAGES', FILENAME);
      9  DBMS_LOB.FILEOPEN (F_LOB, DBMS_LOB.FILE_READONLY);
     10  DBMS_LOB.LOADFROMFILE (B_LOB, F_LOB,
     11  DBMS_LOB.GETLENGTH (F_LOB));
     12  DBMS_LOB.FILECLOSE (F_LOB);
     13  COMMIT;
     14  END;
     15  /
     
    Procedure created
     
    SQL> 
    SQL> BEGIN
      2  IMG_INSERT('1','mmm.jpg');
      3  END;
      4  /
     
    PL/SQL procedure successfully completed
     
    SQL> select * from IMAGE_LOB;
     
    T_ID  T_IMAGE
    ----- -------
    1     <BLOB>
      

  2.   

    http://topic.csdn.net/u/20100105/14/b8789e2f-3859-4ed2-86c3-a84c51c2898a.html