更新查询结果集的规则-杨雪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


更新查询结果集的规则

发表时间:2023/7/6 8:01:25 评论(0) 浏览(1710)  评论 | 加入收藏 | 复制
   
摘 要:下表汇总了一些特定实例,在这些例子中您也许可以更新“结果”窗格中的查询结果,也许不能。 在许多情况下,正在使用的数据库决定是否可以更新查询结果。
正 文:

      在很多情况下,可以更新显示在“结果”窗格中的结果集。 然而,在某些情况下不能这样做。

      一般情况下,为了更新结果,查询和视图设计器必需具备足够的信息才能唯一地标识表中的行。 例如,查询在输出列表中包括主键时。 此外,您还必须有足够的权限才能更新数据库。

      如果基于视图进行查询,也许可以进行更新。 同样的原则不仅仅适用于视图本身,除非这些原则适用于视图中的基础表。

      下表汇总了一些特定实例,在这些例子中您也许可以更新“结果”窗格中的查询结果,也许不能。 在许多情况下,正在使用的数据库决定是否可以更新查询结果。

查询

是否可以更新结果?

基于某个表的、输出列中包含主键的查询

是(但下面列出的除外)。

基于无唯一索引和无主键的表的查询

取决于查询和数据库。 有些数据库允许在有足够的信息用于唯一地识别记录时进行更新。

基于多个未联接的表的查询

不能。

基于数据库中标记为只读数据的查询

不能。

基于包含一个无约束表的视图的查询

是(但下面列出的除外)。

基于一对一关系联接的表的查询

是(但下面列出的除外)。

基于一对多关系联接的表的查询

通常是。

基于有多对多关系的表(不少于三个)的查询

不能。

基于未授予更新权限的表的查询

可删除但不可更新。

基于未授予删除权限的表的查询

可更新但不可删除。

聚合查询

不能。

基于包含有总计或聚合函数的子查询的查询

不能。

包括 DISTINCT 关键字(用于排除重复的行)的查询

不能。

FROM 子句包括用户定义函数的查询(查询返回一个表且用户定义函数包含有多个 Select 语句)

不能。

FROM 子句中包括内联用户定义函数的查询

是。


      此外,您也许不能在查询结果中更新特定的列。 下面的列表汇总了不能在“结果”窗格中更新的特定类型的列。

  • 基于表达式的列

  • 基于标量用户定义函数的列

  • 其他用户删除的行或列

  • 其他用户锁定的行或列(通常,锁定的行在解锁后就可更新)

  • Timestamp 或 BLOB 列


Access软件网交流QQ群(群号:198465573)
 
 相关文章
更新查询单表更新【Access每天3分钟第三季】  【张志  2020/9/24】
更新查询两表更新【Access每天3分钟第三季】  【张志  2020/10/11】
【Access更新查询】更新查询如何同时更新两个条件呢?比如把“日...  【麥田  2020/12/14】
检验更新查询不能更新的一例  【欧志华  2021/2/14】
【Access更新查询示例】用更新查询加switch条件批量更新数...  【麥田  2021/6/7】
【Access更新查询示例】清空表中两个字段的记录,删除表中两列的...  【麥田  2021/7/12】
设定Access等待几秒钟再执行更新查询的示例,设置Access延...  【麥田  2021/12/20】
【Access更新查询示例】将公司简称更新为公司全称  【某.强人  2022/3/20】
常见问答
技术分类
相关资源
文章搜索
关于作者

杨雪

文章分类

文章存档

友情链接