精华内容
下载资源
问答
  • DBMS

    2009-08-20 23:46:00
    关键词:ORACLEDBMS_LOBLOB维护 中图分类号:TP31 1、引言 随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包括一些图片和音像资料或者是超长的文本。比如开发一套旅游信息

    摘要:本文通过实例介绍了在ORACLE数据库中通过DBMS_LOB包使用和维护LOB数据类型的基本方法。   
        
      关键词:ORACLEDBMS_LOBLOB维护   
        
      中图分类号:TP31   
        
      1、引言   
        
      随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包括一些图片和音像资料或者是超长的文本。比如开发一套旅游信息系统,每一个景点都有丰富的图片、音像资料和大量的文字介绍。这就要求后台数据库要有存储这些数据的能力。ORACLE公司在其Oracle8i中通过提供LOB字段实现了该功能。   
        
      为了便于读者的理解,我们先介绍一些基本的概念:   
        
      在ORACLE数据库中,LOB(Large   Objects—大对象)是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的数据)。目前,它又分为两种类型:内部LOB和外部LOB。内部LOB将数据以字节流的形式存储在数据库的内部。因而,内部LOB的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作。Oracle8i支持三种类型的内部LOB:BLOB(二进制数据)、CLOB(单字节字符数据)、NCLOB(多字节国家字符数据)。其中CLOB和NCLOB类型适用于存储超长的文本数据,BLOB字段适用于存储大量的二进制数据,如图像、视频、音频等。目前,Oracle8i只支持一种外部LOB类型,即BFILE类型。在数据库内,该类型仅存储数据在操作系统中的位置信息,而数据的实体以外部文件的形式存在于操作系统的文件系统中。因而,该类型所表示的数据是只读的,不参与事务。该类型可帮助用户管理大量的由外部程序访问的文件。   
        
      为了方便下文的叙述,我们假定使用如下语句在数据库中创建了一张表。   
        
      CREATE   TABLE   view_sites_info     
        
      (   site_idNUMBER(3),     
        
      audioBLOBDEFAULT   empty_blob(),     
        
      documentCLOBDEFAULT   empty_clob(),     
        
      video_fileBFILEDEFAULT   NULL,     
        
      constraint   PK_TAB_view_sites_info   primary   key   (site_id)     
        
      );     
        
      2、LOB的使用和维护   
        
      ORACL提供了多种使用和维护LOB的方式,如使用PL/SQL   DBMS_LOB包、调用OCI(Oracle   Call   Interface)、使用Proc   *   C/C++、使用JDBC等。其中最为方便有效的是使用PL/SQL调用DBMS_LOB包,本文就将介绍该方法。   
        
      在Oracle中,存储在LOB中数据称为LOB的值,如使用Select   对某一LOB字段进行选择,则返回的不是LOB的值,而是该LOB字段的定位器(可以理解为指向LOB值的指针)。如执行如下的SQL语句:   
        
      DELCARE     
        
      AUDIO_INFOBLOB;   
        
      BENGIN     
        
      SELECT   audio   INTO   AUDIO_INFO   FROM   view_sites_info     
        
      WHERE   site_id=100;     
        
      END;     
        
      /     
        
      存储在AUDIO_INFO变量中的就是LOB定位器,而不是LOB的值。而要对某一LOB的值进行访问和维护操作,必需通过其定位器来进行。DBMS_LOB包中提供的所有函数和过程都以LOB定位器作为参数。   
        
      2.1内部LOB   
        
      DBMS_LOB包中主要提供了以下几个过程供用户对内部LOB字段进行维护。   
        
      APPEND()将源LOB中的内容加到目的LOB中   
        
      COPY()从源LOB中复制数据到目的LOB     
        
      ERASE()删除LOB中全部或部分内容   
        
      TRIM()将LOB值减少到指定的长度   
        
      WRITE()向LOB   中写入数据   
        
      COMPARE()比较两个同种数据类型的LOB的部分或全部值是否相同   
        
      GETLENGTH()获取LOB的长度   
        
      READ()从LOB中读出数据   
        
      下面我们以最为常用的读和写为例详细介绍这些过程的用法。   
        
      首先介绍一下写过程。该过程的语法为:   
        
      PROCEDURE   WRITE   (     
        
      lob_locIN   OUTBLOB,     
        
      amountINBINARY_INTEGER,     
        
      offsetININTEGER,     
        
      bufferINRAW);     
        
      PROCEDURE   WRITE   (     
        
      lob_locIN   OUTCLOBCHARACTER   SET   ANY_CS,     
        
      amountINBINARY_INTEGER,     
        
      offsetININTEGER,     
        
      bufferINVARCHAR2   CHARACTER   SET   lob_loc%CHARSET);     
        
      各参数的含义为:   
        
      lob_loc:要写入的LOB定位器   
        
      amount:写入LOB中的字节数   
        
      offset:指定开始操作的偏移量   
        
      buffer:指定写操作的缓冲区   
        
      下面的代码就是运用该过程向LOB字段写入数据的示例。   
        
      DECLARE     
        
      lobloc   CLOB;     
        
      buffer   VARCHAR2(2000);     
        
      amount   NUMBER   :=   20;     
        
      offset   NUMBER   :=   1;     
        
      BEGIN     
        
      --初始化要写入的数据   
        
      buffer   :=   'This   is   a   writing   example';     
        
      amount   :=   length(buffer);     
        
      SELECT   document   INTO   lobloc--   获取定位器并锁定行   
        
      FROMview_sites_info     
        
      WHERE   site_id   =   100   FOR   UPDATE;     
        
      dbms_lob.write(lobloc,amount,1,buffer);     
        
      COMMIT;     
        
      END;     
        
      /     
        
      需要特别指出的是:   
        
      I.在调用写过程前一定要使用SELECT语句检索到定位器且用   FOR   UPDATE   子句锁定行,否则不能更新LOB;   
        
      II.写过程从offset指定的位置开始,向LOB中写入长度为amount的数据,原LOB中在这个范围内的任何数据都将被覆盖。   
        
      III.缓冲区的最大容量为32767字节,因此在写入大量数据时需多次调用该过程。   
        
      下面再来介绍一下读过程:   
        
      该过程的语法为:   
        
      PROCEDURE   READ   (     
        
      lob_locINBLOB,     
        
      amountIN   OUTBINARY_INTEGER,     
        
      offsetININTEGER,     
        
      bufferOUTRAW);     
        
      PROCEDURE   READ   (     
        
      lob_locINCLOBCHARACTER   SET   ANY_CS,     
        
      amountIN   OUTBINARY_INTEGER,     
        
      offsetININTEGER,     
        
      bufferOUTVARCHAR2   CHARACTER   SET   lob_loc%CHARSET);     
        
      各参数的含义为:   
        
      lob_loc:要读取的LOB定位器   
        
      amount:要读取的字节数   
        
      offset:开始读取操作的偏移量   
        
      buffer:存储读操作结果的缓冲区   
        
      下面的代码演示了如何使用该过程读取LOB字段中的数据:   
        
      DECLARE     
        
      lobloc   CLOB;     
        
      buffer   VARCHAR2(2000);     
        
      amount   NUMBER   :=   2;     
        
      offset   NUMBER   :=   6;     
        
      BEGIN     
        
      SELECT   document   INTO   lobloc--获取定位器   
        
      FROM   lob_store     
        
      WHERE   lob_id   =   100;     
        
      dbms_lob.read(lobloc,amount,offset,buffer);--读取数据到缓冲区   
        
      dbms_output.put_line(buffer);--显示缓冲区中的数据   
        
      COMMIT;     
        
      END;     
        
      /   
     

    发表于 @ 2007年04月02日 14:36:00 | 评论( 1 ) 举报收藏

    旧一篇:万松书院 | 新一篇:浙江商人的23条做人原则

    annicybc 发表于Monday, April 02, 2007 14:45:20  举报
    APPEND procedure Appends the contents of the source LOB to the destination LOB. 

    CLOSE procedure Closes a previously opened internal or external LOB. 

    COMPARE function Compares two entire LOBs or parts of two LOBs. 

    COPY procedure Copies all, or part, of the source LOB to the destination LOB. 

    CREATETEMPORARY procedure Creates a temporary BLOB or CLOB and its corresponding index in the user's default temporary tablespace. 

    ERASE procedure Erases all or part of a LOB. 

    FILECLOSE procedure Closes the file. 

    FILECLOSEALL procedure Closes all previously opened files. 

    FILEEXISTS function Checks if the file exists on the server. 

    FILEGETNAME procedure Gets the directory alias and file name. 

    FILEISOPEN function Checks if the file was opened using the input BFILE locators. 

    FILEOPEN procedure Opens a file. 

    FREETEMPORARY procedure Frees the temporary BLOB or CLOB in the user's default temporary tablespace. 

    GETCHUNKSIZE function Returns the amount of space used in the LOB chunk to store the LOB value.

    GETLENGTH function Gets the length of the LOB value. 

    INSTR function Returns the matching position of the nth occurrence of the pattern in the LOB. 

    ISOPEN function Checks to see if the LOB was already opened using the input locator. 

    ISTEMPORARY function Checks if the locator is pointing to a tempora
    展开全文
  • DBMS_Sample

    2012-03-08 16:00:50
    包括例子,DBMS的API文档说明,就是书签管理的那个DBMS例子,有的就飘过吧
  • dbms包】DBMS_DATAPUMP

    2012-04-26 17:54:25
    DBMS_DATAPUMP Data pump功能非常用到,expdp和impdp的命令在oracle的内部由dbms_datapump来完成,一些 procedure和function,包括: Add_file atta...

    DBMS_DATAPUMP

    Data pump功能非常用到,expdpimpdp的命令在oracle的内部由dbms_datapump来完成,一些 procedurefunction,包括:

    Add_file

    attach

    data_filter

    detach

    get_dumpfile_info

    get_status

    log_entry

    metadata_filter

    metadata_remap

    metadata_transform

    open

    set_parallel

    set_parameter

    start_job

    stop_job

    wait_for_job

     

    一个导出表的例子:

    select * from dba_tables a where a.owner = 'SCOTT';

    create or replace directory dumpdir as 'E:\app\l00187714\product\11.2.0';

    select * from scott.emp;

     

    DECLARE

        HANDLE1 NUMBER;

    BEGIN

        HANDLE1 := DBMS_DATAPUMP.OPEN('EXPORT', 'TABLE');

        DBMS_OUTPUT.PUT_LINE(HANDLE1);

        DBMS_DATAPUMP.ADD_FILE(HANDLE    => HANDLE1,

                               FILENAME  => 'table.dmp',

                               DIRECTORY => 'DUMPDIR',

                               FILETYPE  => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);

        DBMS_DATAPUMP.METADATA_FILTER(HANDLE => HANDLE1,

                                       NAME   => 'SCHEMA_EXPR',

                                       VALUE  => 'IN (''SCOTT'')');

        DBMS_DATAPUMP.METADATA_FILTER(HANDLE1, 'NAME_EXPR', 'IN (''EMP'')');

        DBMS_DATAPUMP.SET_PARALLEL(HANDLE1, 4);

        DBMS_DATAPUMP.START_JOB(HANDLE1);

        DBMS_DATAPUMP.DETACH(HANDLE1);

     

    END;

    /

     

    Importexport差不多,如果要在import后做一些操作的话,可以用wait_for_job

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16179598/viewspace-722319/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/16179598/viewspace-722319/

    展开全文
  • DBMS_SQL使用

    2021-01-19 10:31:33
    DBMS_SQL包提供一个接口,用于执行动态SQL(包括DDL 和DML)。 DBMS_SQL定义了一个实体叫游标ID,游标ID是一个PL/SQL整型数,通过游标ID,可以对游标进行操作。 DBMS_SQL包和本地动态SQL在功能上有许多重叠的地方,...

    一、简介

    DBMS_SQL包提供一个接口,用于执行动态SQL(包括DDL 和DML)。

    DBMS_SQL定义了一个实体叫游标ID,游标ID是一个PL/SQL整型数,通过游标ID,可以对游标进行操作。

    DBMS_SQL包和本地动态SQL在功能上有许多重叠的地方,但是有的功能只能通过本地动态SQL实现,而有些功能只能通过DBMS_SQL实现。
    二、主要函数

    DBMS_SQL封装过程中的主要函数:
    1、OPEN_CURSOR:返回新游标的ID值
    2、PARSE:解析要执行的语句
    3、BIND_VARIABLE:将给定的数量与特定的变量相连接
    4、DEFINE_COLOUMN:定义字段变量,其值对应于指定游标中某个位置元素的值 (仅用于SELECT语句)
    5、EXECUTE:执行指定的游标
    6、EXECUTE_AND_FETCH:执行指定的游标并取记录
    7、FETCH_ROWS:从指定的游标中取出记录
    8、COLUMN_VALUE:返回游标中指定位置的元素
    9、IS_OPEN:当指定的游标状态为OPEN时返回真值
    10、CLOSE_CURSOR:关闭指定的游标并释放内存
    11、LAST_ERROR_POSITION:返回出错SQL语句的字节偏移量
    12、LAST_ROW_ID:返回最后一条记录的ROWID
    13、LAST_SQL_FUNCTION_CODE:返回语句的SQL FUNCTION CODE

    三、一般过程

    对于一般的select 操作,如果使用动态的sql语句则需要进行以下几个步骤:
    open cursor —>parse—>define column—>excute—>fetch rows—>close cursor;
    而对于dml操作(insert , update )则需要进行以下几个步骤:
    open cursor —>parse—>bind variable—>execute—>close cursor;
    对于delete 操作只需要进行以下几个步骤:
    open cursor —>parse—>execute—>close cursor;
    对DDL操作需要进行一下几个步骤
    open cursor—>parse---->close cursor;

    复制代码
    利用DBMS_SQL执行DDL语句:
    CREATE OR REPLACE PROCEDURE CreateTable2(tablename VARCHAR2)
    IS
    SQL_string VARCHAR2(1000);–存放SQL语句
    V_cur integer;–定义整形变量,用于存放游标
    BEGIN
    SQL_string := 'CREATE TABLE ’ || tablename || ‘(nameVARCHAR(20))’;
    V_cur := dbms_sql.open_cursor;–打开游标
    dbms_sql.parse(V_cur,SQL_string,DBMS_SQL.NATIVE);–解析并执行SQL语句
    dbms_sql.close_cursor(V_cur);–关闭游标
    END;
    利用DBMS_SQL执行SELECT语句:
    open cursor—>parse—> define column—>excute—> fetch rows—>close cursor;
    DECLARE
    v_cursor NUMBER;–游标ID
    sqlstring VARCHAR2(200);–用于存放SQL语句
    v_phone_name VARCHAR2(20);–手机名字
    v_producer VARCHAR2(20);–手机生产商
    v_price NUMBER :=500;–手机价钱
    v_count INT;–在这里无意义,只是存放函数返回值
    BEGIN
    –:p是占位符
    –SELECT 语句中的第1列是phone_name,第2列是producer,第3列是price
    sqlstring :=‘SELECTphone_name,producer,price FROM phone_infor WHERE price> :p’;
    v_cursor :=dbms_sql.open_cursor;–打开游标;
    dbms_sql.parse(v_cursor ,sqlstring,dbms_sql.native);–解析动态SQL语句;

    –绑定输入参数,v_price的值传给 :p
    dbms_sql.bind_variable(v_cursor,’:p’,v_price);

      --定义列,v_phone_name对应SELECT 语句中的第1列
    

    dbms_sql.define_column(v_cursor,1,v_phone_name,20);
    –定义列,v_producer对应SELECT语句中的第2列
    dbms_sql.define_column(v_cursor,2,v_producer,20);
    –定义列,v_price对应SELECT语句中的第3列
    dbms_sql.define_column(v_cursor,3,v_price);

    v_count := dbms_sql.EXECUTE(v_cursor);–执行动态SQL语句。

    LOOP
    –从游标中把数据检索到缓存区(BUFFER)中,缓冲区的值只能被函数COULUMN_VALUE()所读取
    EXIT WHENdbms_sql.fetch_rows(v_cursor)<=0;
    –函数column_value()把缓冲区的列的值读入相应变量中。
    –第1列的值被读入v_phone_name中
    dbms_sql.column_value(v_cursor,1,v_phone_name);
    –第2列的值被读入v_producer中
    dbms_sql.column_value(v_cursor,2,v_producer);
    –第2列的值被读入v_price中
    dbms_sql.column_value(v_cursor,3,v_price);
    –打印变量的值
    dbms_output.put_line(v_phone_name || ’ '||v_producer|| ’ '||v_price);

    END LOOP;
    dbms_sql.close_cursor(v_cursor);–关闭游标
    END;
    利用DBMS_SQL执行DML语句:
    open cursor—>parse—> bind variable—>execute—> close cursor;
    DECLARE
    v_cursor NUMBER;–游标ID
    sqlstring VARCHAR2(200);–用于存放SQL语句
    v_phone_name VARCHAR2(20);–手机名字
    v_producer VARCHAR2(20);–手机生产商
    v_price NUMBER :=500;–手机价钱
    v_count INT;–被DML语句影响的行数
    BEGIN

    sqlstring :=‘INSERT INTO phone_infor values(:a,:b,:c)’;-- :a,:b,:c 是占位符

    v_phone_name :=‘S123’;
    v_producer :=‘索尼AA’;
    v_price := 999;

    v_cursor :=dbms_sql.open_cursor;–打开游标;
    dbms_sql.parse(v_cursor ,sqlstring,dbms_sql.native);–解析动态SQL语句;

    –绑定输入参数,v_price的值传给 :p
    dbms_sql.bind_variable(v_cursor,’:a’,v_phone_name);
    dbms_sql.bind_variable(v_cursor,’:b’,v_producer);
    dbms_sql.bind_variable(v_cursor,’:c’,v_price);

    v_count := dbms_sql.EXECUTE(v_cursor);–执行动态SQL语句。

    dbms_sql.close_cursor(v_cursor);–关闭游标
    dbms_output.put_line(’ INSERT ’ || to_char(v_count) ||’ row ');–打印有多少行被插入
    COMMIT;
    END;
    复制代码
    四、demo

    示例1

    复制代码
    –这是一个创建一个表的过程的例子。该过程有两个参数:表名和字段及其类型的列表。
    CREATE OR REPLACE PROCEDURE ddlproc (tablename varchar2, cols varchar2) AS
       cursor1 INTEGER;
    BEGIN
       cursor1 := dbms_sql.open_cursor;
       dbms_sql.parse(cursor1, ‘CREATE TABLE ’ tablename ’ ( ’ cols ’ )’, dbms_sql.v7);
       dbms_sql.close_cursor(cursor1);
    end;
    复制代码
    示例2

    复制代码
    –用DBMS_SQL包和游标计算用户下所有表行数
    DECLARE
    t_c1_tname user_tables.table_name%TYPE;
    t_command varchar2(200);
    t_cid integer;
    t_total_records number(10);
    stat integer;
    row_count integer;
    t_limit integer := 0; --限制只取出记录大于0的表的情况

    cursor c1 is select table_name from user_tables order by table_name; --查出所有表的名字
    BEGIN
    t_limit := 0;
    open c1;

    loop
    fetch c1 into t_c1_tname; --取出一个表名
    exit when c1%NOTFOUND; --如果游标记录取完,退出循环
    t_command := 'SELECT COUNT(0) FROM '||t_c1_tname; --定义SQL命令
    t_cid := DBMS_SQL.OPEN_CURSOR; --创建一个游标
    DBMS_SQL.PARSE(t_cid,t_command,dbms_sql.native); --向服务器发出一个语句并检查这个语句的语法和语义错误
    DBMS_SQL.DEFINE_COLUMN(t_cid,1,t_total_records); --定义将从FetchRows()函数接收数据的变量的数据类型与大小
    stat := DBMS_SQL.EXECUTE(t_cid); --执行此语句,因为执行的是查询,所以必须跟着Fetch_Rows函数并为单个行检索数据
    row_count := DBMS_SQL.FETCH_ROWS(t_cid); --取回一行数据放入局部缓冲区
    DBMS_SQL.COLUMN_VALUE(t_cid,1,t_total_records); --返回调用FetchRows()取回的一列的值,这一列的值存储在t_total_records中

        if t_total_records > t_limit then  
           DBMS_OUTPUT.PUT_LINE(rpad(t_c1_tname,55,' ')||  
           to_char(t_total_records,'99999999')||' record(s)');  
        end if;  
          
        DBMS_SQL.CLOSE_CURSOR(t_cid);  
    

    end loop;

    close c1;
    END;
    复制代码
    具体参考以下三篇:

    http://blog.csdn.net/u013516966/article/details/49002769

    http://blog.csdn.net/tianping168/article/details/3980134

    https://www.cnblogs.com/zeromyth/archive/2009/09/29/1576627.html

    展开全文
  • 数据库管理系统DBMS

    千次阅读 2016-08-23 18:26:17
    数据库管理系统——指对数据进行管理的...DBMS是数据库系统的核心:数据库系统的操作,包括查询、修改等都是通过DBMS进行的。 DBMS总是基于数据模型的,根据所采用的数据模型的不同,DBMS可以分为网状性、层次性、关系

    数据库管理系统——指对数据进行管理的软件系统。“数据字典”DBMS工作的重要依据,包含有关数据库的定义信息:  例如数据库的名称、数据表的定义、数据库账户和权限等。它是由DBMS自动生成并保存的一组表和视图


    DBMS是数据库系统的核心:数据库系统的操作,包括查询、修改等都是通过DBMS进行的。

    DBMS总是基于数据模型的,根据所采用的数据模型的不同,DBMS可以分为网状性、层次性、关系型、面向对象型等。

    即使是同种数据模型的DBMS,他们在用户接口、系统功能方面也是不同的。

    关系型DBMS是目前比较流行的,例如:Oracle、MS SQL Server 、DB2


    数据库系统DBS=数据库DB + 操作系统OS + 数据库管理系统DBMS + 数据库管理员DBA    (即软硬件+人员)


    虽然数据库系统软件各不相同,但是绝大多数数据库系统在总的体系结构上具有三级模式的特征:


    外模式、概念模式、内模式

    (1)概念模式,又称模式。是对数据库中全局数据结构的逻辑描述(例如E-R图)。是全体用户公共的数据视图。

    (2)外模式,又称子模式或者用户模式。它是数据库用户能够看到和使用的局部数据逻辑结构和特征描述。是数据库用户的数据视图,是与某一应用有关的数据的逻辑描述。

    (3)内模式,又称存储模式。一个模式只有一个内模式。他是数据物理结构和存储方式的描述。


    数据库的二级映像:

    (1)外模式/模式映像——在外模式中定义外模式与模式的对应关系。一个模式可以有任意多个外模式。如果修改模式,例如重新定义增加新的关系、新的属性等,只需要对映像关系进行修改即可,使外模式尽量保持不变。而应用程序一般是依据外模式编写的,从而保持了数据与程序逻辑的独立性,这就是数据的逻辑独立性。

    (2)模式/内模式映像——该映像是唯一的,因为只有一个模式和内模式。一般在模式描述。该映像定义了全局逻辑结构和存储结构之间的对应关系。当数据库的存储结构改变时,对模式/内模式做相应改变,使得模式保持不变,从而应用程序也不必改变,这就保证了数据和程序的物理独立性,即数据的物理独立性。


    数据库的二级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。


    数据模型按不同的应用层次,分为:概念数据模型、逻辑数据模型、物理数据模型

    数据模型的三要素:数据结构、数据操作和完整性约束

    展开全文
  • DBMS_BACKUP_RESTORE.DBMS_BACKUP_RESTORE用于特殊情况下的恢复一般如下:系统崩溃,rman使用控制文件,没有使用控制文件自动备份,现在仅有最后一次全备(备份中包括控制文件),以及其增量备份,...
  • DBMS_LOB

    2019-10-02 12:41:36
    在现在的系统开发中,需要存储的已不仅仅是简单的文字信息,也包括一些图片、音像资料或者超长的文本,这要求后台数据库具有存储这些数据的能力,Oracle通过提供LOB对象实现了该功能。 2.LOB 在ORACLE数据库...
  • DBMS体系结构

    2011-06-14 20:09:08
    DBMS的组成部分   一、查询:sql输入或通过应用程序的借口查询数据库   二、更新:插入、修改、删除。   三、模式更新:修改或增加属性字段,数据库的模式指数据库的逻辑结构。   四、查询处理程序:...
  • dbms_logmnr

    2008-05-20 10:27:06
    1:介绍:dbms_logmnr是oracle在oracle8i所提供的新package。它主要用于分析log file文件(包括online redo log file,archived log file),将log file...
  • 百度地图毕业设计源码 ...项目已经写好头文件,包括数据结构的基本设计和相应的函数接口,目标是实现这些接口来满足相应的需求 线性哈希 索引是数据库系统中重要的数据结构,数据库的数据存储依靠索引来进行组
  • DB DBS和DBMS的区别

    2021-03-05 08:35:01
    DB:即DateBase,数据库。 DBS:即DateBase Systerm,数据库系统。 DBMS:即DateBase Mangement Systerm,数据库管理系统。 区别:数据库存放数据,数据库管理系统是用来管理...数据库系统是统称,包括DB和DBMS ...
  • 浅谈DBMS

    热门讨论 2016-08-07 19:31:50
     一套数据库包括:  1.模型语言,用以因应该数据库管理系统的数据模型,来定义各数据库的schema。  .概念模型:概念设计中的数据描述。  .逻辑模型:逻辑设计中的数据描述。  .内/外模型:物理设计中数据描述。...
  • DB DBS 和DBMS区别

    千次阅读 2018-03-31 21:55:26
    是指datebase systerm (数据库系统)DBMS:是指datebase mangement systerm(数据库管理系统)区别:数据库就是存放数据的仓库,数据库管理系统就是用来管理数据库的,其中数据库系统是一个通称,包括数据库、数据库...
  • 百度地图毕业设计源码 ...项目已经写好头文件,包括数据结构的基本设计和相应的函数接口,目标是实现这些接口来满足相应的需求 线性哈希 索引是数据库系统中重要的数据结构,数据库的数据存储依靠索引来进行组
  • ORACLE中随机数的包的源文件...1.--返回0,1间的随机数(包括0和1) [code="java"]SQL> select dbms_random.value from dual; VALUE ---------- .89972641[/code] 2.--返回10到20间的随机数(...
  • DBMS P12 设计问题 P13

    2020-08-01 21:45:09
    分布式DBMS 设计方面的问题 1,数据存放 是分片,还是复制。 2,分布式目录管理 3,分布式查询处理 要设计对查询的分析和将查询转换为数据操作的算法。 考虑因素包括数据的分布,通信的开销,欠缺的可用...
  • 您要测试的DBMS(SQLite是嵌入式DBMS包括在内) 以下命令克隆SQLancer,创建一个JAR,然后启动SQLancer以使用非优化参考引擎构造(NoREC)测试SQLite: git clone https://github.com/sqlancer
  • dbms_stats

    2015-03-06 16:59:49
    每个版本的oracle数据库对优化器统计收集进行了改进。 在oracle10g中,优化器统计收集时完全自动化的操作,用户完全不需要担心统计收集操作,...如果设置为basic,就会禁用大多数的易管理特性,包括 ash(活动会话历
  • idyaDBX是用PHP编写的轻量级库,该库实现了可嵌入SQL数据库引擎,原始数据存储为XML。 PHP脚本可以包括idyaDBX作为标头,以使用SQL处理其数据,而无需外部DBMS
  • DBMS_SESSION 这个包提供了从PL/SQL访问SQL ALTER SESSION和SET ROLE语句,以及其他会话信息。...本章包括以下主题: 安全模型 操作记录 DBMS_SESSION用法 数据结构 DBMS_SESSION子程序的摘要 ...
  • Oracle中dbms_sql的使用

    千次阅读 2018-08-08 16:50:46
    DBMS_SQL包提供一个接口,用于执行动态SQL(包括DDL 和DML)。 DBMS_SQL定义了一个实体叫游标ID,游标ID是一个PL/SQL整型数,通过游标ID,可以对游标进行操作。 DBMS_SQL包和本地动态SQL在功能上有许多重叠的地方...
  • ORALCE DBMS_SQL的使用

    2015-03-08 22:42:15
    DBMS_SQL包提供一个接口,用于执行动态SQL(包括DDL 和DML)。  DBMS_SQL定义了一个实体叫游标ID,游标ID 是一个PL/SQL整型数,通过游标ID,可以对游标进行操作。 DBMS_SQL包和本地动态SQL在功能上有许多重叠的地方...
  • Oracle DBMS_SQL的使用

    2012-09-03 11:49:55
    DBMS_SQL包提供一个接口,用于执行动态SQL(包括DDL 和DML)。 DBMS_SQL定义了一个实体叫游标ID,游标ID 是一个PL/SQL整型数,通过游标ID,可以对游标进行操作。 DBMS_SQL包和本地动态SQL在功能上有许多重叠...
  • DBMS 提供数据操纵语言(Data Manipulation Language, DML),实现用户对数据的操纵功能,包括对数据库数据的插入、删除、更新等操作。 数据库的运行管理 DBMS 提供数据库的运行控制和管理
  • DBMS_XPLAN是Oracle提供的一个用于查看SQL计划,包括执行计划和解释计划的包;在以前查看SQL执行计划的时候,我都是使用set autotrace命令,不过现在看来,DBMS_XPLAN包给出了更加简化的获取和显示计划的方式。 这5...
  • dbms_xplan之display函数的使用

    万次阅读 2011-10-12 16:26:04
    DBMS_XPLAN包包括一系列函数,主要是用于显示SQL语句的执行计划,且不同的情形下使用不同的函数来显示,如预估的执行计划则使用 display函数,而实际的执行计划则是用display_cursor函数,对于awr中的执行计划,则是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,639
精华内容 655
关键字:

dbms包括