`
yanchencheng
  • 浏览: 21312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

利用user_updatable_columns视图来查看视图中可以更新的列

阅读更多

利用user_updatable_columns视图来查看视图中可以更新的列 

 

SQL> SET LONG 9999

SQL> SELECT DBMS_METADATA.GET_DDL('VIEW','CLASSES')

  2  FROM DUAL;

 

DBMS_METADATA.GET_DDL('VIEW','CLASSES')                                        

--------------------------------------------------------------------------------

                                                                               

  CREATE OR REPLACE FORCE VIEW "TAISHAN_JAP"."CLASSES" ("CLASSNO", "CLASSNAME",

AR", "OTHERNAME", "BALANCE", "DEPARTMENTID", "STUDENTTYPECODE", "YEARLIMIT", "HE

ADER1", "HEADERPHONE1", "HEADER2", "HEADERPHONE2", "MONITORID", "CLASSROOMID", "

DORM", "CREATORID", "CREATORDATE", "LASTEDITID", "LASTEDITDATE", "CLASSESSTATUS"

) AS                                                                           

  SELECT                                                                       

CLASSID CLASSNO, CLASSNAME CLASSNAME , SUBCAMPUSID SUBCAMPUSID,                

  C.SPECIALITYID  SPECIALITYID,C.GRADE  GRADEYEAR, CLASSALIAS OTHERNAME,       

  0 BALANCE, C.DEPID  DEPARTMENTID, S.TRAINLEVEL STUDENTTYPECODE,              

  S.DEFAULTYEARS YEARLIMIT,(SELECT A.ADMINPERSONID FROM XJ_CLASSADMIN A WHERE A.

ROWNUM=1) HEADER1,                                                             

  (SELECT A.TELEPHONE FROM XJ_CLASSADMIN A WHERE A.CLASSID=C.CLASSID AND ROWNUM=

  ' ' HEADER2, ' ' HEADERPHONE2, ' ' MONITORID,                                

  C.FIXEDCLASSROOMID CLASSROOMID,' ' DORM, '' CREATORID,                       

  SYSDATE CREATORDATE,'' LASTEDITID, SYSDATE LASTEDITDATE,                     

  '0' CLASSESSTATUS                                                            

FROM XJ_CLASSES C,UP_SPECIALITYINYEAR US,UP_SPECIALITY S                       

 WHERE C.SPECIALITYID=US.SPECIALITYID  AND  C.GRADE=US.GRADE AND US.SPECIALITYID

SPECIALITYID                                                                   

                                                                               

查看classes视图的定义,有多个表连接构成,但并不是说该视图就不能更新。

 

SQL> SELECT COLUMN_NAME,UPDATABLE,INSERTABLE,DELETABLE

  2  FROM USER_UPDATABLE_COLUMNS

  3  WHERE TABLE_NAME='CLASSES';

 

COLUMN_NAME                    UPD INS DEL                                     

------------------------------ --- --- ---                                     

CLASSNO                        YES YES YES                                     

CLASSNAME                      YES YES YES                                     

SUBCAMPUSID                    YES YES YES                                     

SPECIALITYID                   YES YES YES                                     

GRADEYEAR                      YES YES YES                                     

OTHERNAME                      YES YES YES                                     

BALANCE                        NO  NO  NO                                      

DEPARTMENTID                   YES YES YES                                     

STUDENTTYPECODE                NO  NO  NO                                      

YEARLIMIT                      NO  NO  NO                                      

HEADER1                        NO  NO  NO                                      

HEADERPHONE1                   NO  NO  NO                                      

HEADER2                        NO  NO  NO                                      

HEADERPHONE2                   NO  NO  NO                                      

MONITORID                      NO  NO  NO                                      

CLASSROOMID                    YES YES YES                                     

DORM                           NO  NO  NO                                      

CREATORID                      NO  NO  NO                                      

CREATORDATE                    NO  NO  NO                                      

LASTEDITID                     NO  NO  NO                                      

LASTEDITDATE                   NO  NO  NO                                      

CLASSESSTATUS                  NO  NO  NO                                      

 

已选择22行。

 

SQL> SELECT CLASSID,CLASSNAME

  2  FROM XJ_CLASSES

  3  WHERE ROWNUM=1;

 

CLASSID                          CLASSNAME                                     

-------------------------------- --------------------------------              

C875F600867948568816847C9B513600 09G数维2班                                    

 

SQL> UPDATE CLASSES

  2  SET  CLASSNAME='TEST'

  3  WHERE CLASSNO='C875F600867948568816847C9B513600';

 

已更新 1 行。

   

      当然也可以使用dba_updatable_columns和all_updatable_columns也可以实现此事!

 

    记录下来,便于查阅!
=================================
摘自:http://blog.chinaunix.net/u/22472/showart.php?id=315113
      西方经济学的百草园
作者:红红 创建于: 2007-06-05 15:40:40,修改于: 2007-06-05 15:40:40,已浏览225次,有评论0条 
=================================
 

分享到:
评论

相关推荐

    [详细完整版]数据库字典.docx

    - **user_updatable_columns**:列出了联合视图中可以更新的列。 - **user_views**:提供了视图的相关信息。 ##### 3.2 集合、LOB、对象类型和对象表 - **user_coll_types**:存储了集合类型的信息。 - **user_...

    在Oracle中向视图中插入数据的方法

    在Oracle中,可以通过查询`user_updatable_columns`系统视图来确定某个表或视图是否支持更新操作。该视图提供了关于用户可以修改的表或视图的信息,包括列名称、是否允许`INSERT`、`UPDATE`和`DELETE`操作等。 ```...

    Oracle中视图和索引的应用.doc

    `USER_VIEWS`、`USER_UPDATABLE_COLUMNS`和`USER_OBJECTS`等字典视图提供了关于视图结构、权限和可更新性等信息。此外,还可以通过`ALTER`语句添加或删除视图的约束,例如唯一约束,以确保数据的完整性和一致性。 ...

    ADBMS4.7-索引视图与分区.pptx

    可以使用`user_updatable_columns`系统视图来检查视图是否可更新。 接下来,我们转向索引,它是加速数据检索的关键工具。索引具有以下特点: 1. 提高查询性能:通过创建索引,数据库系统可以快速定位数据,减少全表...

    3.2 Oracle模式对象(2).ppt

    可以使用`USER_UPDATABLE_COLUMNS`视图来检查视图的更新能力。 接下来是索引,它是提升数据库查询性能的重要工具。索引可以加快对表中特定列的查找速度。Oracle支持多种类型的索引,如B树索引、位图索引、函数索引...

    mysql视图之创建可更新视图的方法详解

    在某些情况下,视图是可以更新的,意味着可以通过INSERT、UPDATE和DELETE语句对基表进行操作。然而,不是所有的视图都支持更新,这取决于视图的定义。本文将详细介绍创建可更新视图的方法,并给出示例。 创建可更新...

    SQL Server 视图的创建,删除列和增加列;

    但需要注意,视图是只读的,你不能通过更新视图来修改底层数据,除非视图是可更新的(updatable)。对于可更新视图,有一些特定的限制和条件,比如不能包含聚合函数、分组或连接等复杂查询。 总的来说,SQL Server...

    数据库系统教学课件:第7讲中级SQL.pptx

    这涉及到视图的可更新性(updatable),具体更新规则需参照SQL标准。 5. **参照约束的ON子句**:在创建外键时,`ON DELETE CASCADE`和`ON UPDATE CASCADE`等选项可以设置级联操作,如删除父表记录时删除相关子表...

    oracle数据库经典题目

    22. 如果想查看视图中哪些字段是可以更新的,应当查询哪一个数据字典视图?( D ) A. DBA_VIEWS B. DBA_OBJECTS C. DBA_CLU_COLUMNS D. DBA_UPDATABLE_COLUMNS 23. 在下列各选项中,关于序列的描述哪一项是不正确的...

    pb数据窗口更新多个数据库表

    - **数据窗口的数据源**:数据窗口可以从一个或多个表获取数据,当涉及到多个表时,数据窗口实际上是从这些表通过某种连接方式(如JOIN)形成的“视图”中获取数据。 - **默认行为**:PB默认情况下不允许直接通过...

    在PB 中更新由多个表生成的数据窗口

    - **创建函数**:除了直接在“更新”按钮的Clicked事件中编写代码外,还可以创建一个通用函数`f_updatetable()`来处理多表更新。 - **函数参数**:该函数接收5个参数,包括数据窗口对象、两个表名以及这两个表的主键...

    Oracle考试题1参考.docx

    **知识点**: 若要查看视图中哪些字段是可以更新的,应当查询 dba_updatable_columns 数据字典视图。此视图提供了视图中可更新列的信息。 **解释**: 通过查询 dba_updatable_columns 视图,管理员可以了解哪些视图...

    jdbc各种数据库连接

    在Java开发领域中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问接口,这使得Java应用程序可以方便地与不同类型的数据库进行交互。本文将详细介绍...

    jsp连接数据库

    其中,`ResultSet.TYPE_SCROLL_SENSITIVE` 表示结果集可滚动且对数据表的更改敏感,`ResultSet.CONCUR_UPDATABLE` 表示结果集支持更新操作。 4. **备选方案** 除了使用 JTDs 驱动之外,文档中还给出了另外两种...

    几种常用数据库的连接 mysql sql server oracle

    数据库连接是软件开发中至关重要的一个环节,尤其是在处理数据存储和检索时。本文将详细介绍如何连接到几种常见的数据库系统:SQL Server 2000、Oracle、Sybase 和 MySQL。 1. **连接 SQL Server 2000**: SQL ...

    采用JDBC进行数据库分页查询

    一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @param startNo 从哪一条记录开始 * @param maxCount 总共取多少条记录 */ public void getData(String sql,int startNo,int maxCount){ ...

    ojdbc14.jar 工具包

    java语句如下private String url = "jdbc:odbc...stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);} catch (Exception e) {System.err.print("Error" + e.getMessage());}

    powerbuilder 并发控制 实例分析

    在`Updatable Columns`中选择用户可以修改的列,选中的列会高亮显示。 F. `Unique Key Column(s)`用于定义唯一键,这是能唯一标识表中一条记录的字段。 G. `Key Modification`组框用于设置唯一键列更新时的行为。...

    Python库 | updatable-0.4.0.tar.gz

    在Python中,处理软件更新的一般方法包括使用`requests`库获取更新信息,`json`或`yaml`库解析配置文件,以及`subprocess`调用系统命令来执行更新操作。此外,这个库也可能包含版本控制的逻辑,例如检查当前版本与...

Global site tag (gtag.js) - Google Analytics