利用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条
=================================
分享到:
相关推荐
- **user_updatable_columns**:列出了联合视图中可以更新的列。 - **user_views**:提供了视图的相关信息。 ##### 3.2 集合、LOB、对象类型和对象表 - **user_coll_types**:存储了集合类型的信息。 - **user_...
在Oracle中,可以通过查询`user_updatable_columns`系统视图来确定某个表或视图是否支持更新操作。该视图提供了关于用户可以修改的表或视图的信息,包括列名称、是否允许`INSERT`、`UPDATE`和`DELETE`操作等。 ```...
`USER_VIEWS`、`USER_UPDATABLE_COLUMNS`和`USER_OBJECTS`等字典视图提供了关于视图结构、权限和可更新性等信息。此外,还可以通过`ALTER`语句添加或删除视图的约束,例如唯一约束,以确保数据的完整性和一致性。 ...
可以使用`user_updatable_columns`系统视图来检查视图是否可更新。 接下来,我们转向索引,它是加速数据检索的关键工具。索引具有以下特点: 1. 提高查询性能:通过创建索引,数据库系统可以快速定位数据,减少全表...
可以使用`USER_UPDATABLE_COLUMNS`视图来检查视图的更新能力。 接下来是索引,它是提升数据库查询性能的重要工具。索引可以加快对表中特定列的查找速度。Oracle支持多种类型的索引,如B树索引、位图索引、函数索引...
在某些情况下,视图是可以更新的,意味着可以通过INSERT、UPDATE和DELETE语句对基表进行操作。然而,不是所有的视图都支持更新,这取决于视图的定义。本文将详细介绍创建可更新视图的方法,并给出示例。 创建可更新...
但需要注意,视图是只读的,你不能通过更新视图来修改底层数据,除非视图是可更新的(updatable)。对于可更新视图,有一些特定的限制和条件,比如不能包含聚合函数、分组或连接等复杂查询。 总的来说,SQL Server...
这涉及到视图的可更新性(updatable),具体更新规则需参照SQL标准。 5. **参照约束的ON子句**:在创建外键时,`ON DELETE CASCADE`和`ON UPDATE CASCADE`等选项可以设置级联操作,如删除父表记录时删除相关子表...
22. 如果想查看视图中哪些字段是可以更新的,应当查询哪一个数据字典视图?( D ) A. DBA_VIEWS B. DBA_OBJECTS C. DBA_CLU_COLUMNS D. DBA_UPDATABLE_COLUMNS 23. 在下列各选项中,关于序列的描述哪一项是不正确的...
- **数据窗口的数据源**:数据窗口可以从一个或多个表获取数据,当涉及到多个表时,数据窗口实际上是从这些表通过某种连接方式(如JOIN)形成的“视图”中获取数据。 - **默认行为**:PB默认情况下不允许直接通过...
- **创建函数**:除了直接在“更新”按钮的Clicked事件中编写代码外,还可以创建一个通用函数`f_updatetable()`来处理多表更新。 - **函数参数**:该函数接收5个参数,包括数据窗口对象、两个表名以及这两个表的主键...
**知识点**: 若要查看视图中哪些字段是可以更新的,应当查询 dba_updatable_columns 数据字典视图。此视图提供了视图中可更新列的信息。 **解释**: 通过查询 dba_updatable_columns 视图,管理员可以了解哪些视图...
在Java开发领域中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问接口,这使得Java应用程序可以方便地与不同类型的数据库进行交互。本文将详细介绍...
其中,`ResultSet.TYPE_SCROLL_SENSITIVE` 表示结果集可滚动且对数据表的更改敏感,`ResultSet.CONCUR_UPDATABLE` 表示结果集支持更新操作。 4. **备选方案** 除了使用 JTDs 驱动之外,文档中还给出了另外两种...
数据库连接是软件开发中至关重要的一个环节,尤其是在处理数据存储和检索时。本文将详细介绍如何连接到几种常见的数据库系统:SQL Server 2000、Oracle、Sybase 和 MySQL。 1. **连接 SQL Server 2000**: SQL ...
一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @param startNo 从哪一条记录开始 * @param maxCount 总共取多少条记录 */ public void getData(String sql,int startNo,int maxCount){ ...
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());}
在`Updatable Columns`中选择用户可以修改的列,选中的列会高亮显示。 F. `Unique Key Column(s)`用于定义唯一键,这是能唯一标识表中一条记录的字段。 G. `Key Modification`组框用于设置唯一键列更新时的行为。...
在Python中,处理软件更新的一般方法包括使用`requests`库获取更新信息,`json`或`yaml`库解析配置文件,以及`subprocess`调用系统命令来执行更新操作。此外,这个库也可能包含版本控制的逻辑,例如检查当前版本与...