精华内容
下载资源
问答
  • 目录   一、创建视图 方法一:图形化方式进行创建(如图) 方法二:SQL查询语句的方式创建视图(如图)...一个数据库中有很多很多的,我们每次可能将它们全部查看一遍,有了视图以后我们就方便了很多,可以...

    目录

     

    一、创建视图

    方法一:图形化方式进行创建(如图)

    方法二:SQL查询语句的方式创建视图(如图)

    二、修改和删除视图

    方法一:图形化方式——直接在界面上进行拖动操作,删除更加简单,单击鼠标右键直接删除就好。(如图)

    方法二:SQL语句方式

    三、通过视图修改数据


    一、创建视图

    一个数据库中有很多很多的表,我们每次不可能将它们全部查看一遍,有了视图以后我们就方便了很多,可以将我们想查看的数据,重新组合成一个新的表,这就是视图。

    方法一:图形化方式进行创建(如图)

    方法二:SQL查询语句的方式创建视图(如图)

    二、修改和删除视图

    视图要经常根据我们的需要不断的是变化,所以就需要我们不断的对他进行修改和删除。

    方法一:图形化方式——直接在界面上进行拖动操作,删除更加简单,单击鼠标右键直接删除就好。(如图)

     

    方法二:SQL语句方式

    三、通过视图修改数据

    视图一般情况下是不存储数据的,所以修改数据也不会影响到视图,影响是基表中的数据,通过视图修改数据还是可行的,但是他有非常多的限制:

    1、SELECT列表中含有DISTINCT。

    2、SELECT列表中含有表达式。

    3、引用不可更新的视图。

    4、在FORM子句中引用多个表。

    5、GROUP BY或HAVING子句。

    展开全文
  • 所以很多时候我们需要Form可以实现从视图直接更新数据。 总结了一下,令Form可以直接修改View的数据的办法有2个: 1 增加ON-DELETE/LOCK/UPDATE/INSERT语句,增加相应的代码即可。重要的核心流

    一般来说,多表视图在Form是不可以直接更新的。但是视图有其方便性(就是可以串出很多需要的栏位,不需要在Form的Post-query或者其他触发器中特别写代码赋值),

    所以很多时候我们需要Form可以实现从视图直接更新数据。

    总结了一下,令Form可以直接修改View的数据的办法有2个:

    1 增加ON-DELETE/LOCK/UPDATE/INSERT语句,增加相应的代码即可。重要的核心流程维护Form必须用这种办法。

    但是这种写法有一个地方很麻烦,就是要写大量的pkg代码支持更删改(虽然代码可以自动生成)。

    所以,对于非核心流程维护数据的Form,要实现更改数据,有一个算是比较简单的办法:

    适合那种只是要更新某些特定栏位的写法

    a.增加3个触发器:ON-LOCK/UPDATE/INSERT,代码写null

       这时候,View的栏位都可以随意更改了,只是不会自动Update到数据库里面。

    b当您修改的View的栏位要反应到数据库,在更改的时候,更新数据库栏位即可:

                   If Nvl(:XYG_CONTACT_TO_MDS.TRANSFER_WIP_FLAG,'N') <> 'Y' Then

                         --全协先将User看到的栏位设为全协:

                         :XYG_CONTACT_TO_MDS.TRANSFER_WIP_FLAG := 'T';

                   --接着修改数据库。

                             Update XYG_QB_CONTRACT_LINES_ALL xl

                        Set   TRANSFER_WIP_FLAG = 'T'

                             ,OUTSIDE_PROCESS_FLAG = :XYG_CONTACT_TO_MDS.OUTSIDE_PROCESS_FLAG

                             ,OUTSIDE_PROCESS_ID = :XYG_CONTACT_TO_MDS.OUTSIDE_PROCESS_ID

                        Where   xl.Line_id=:XYG_CONTACT_TO_MDS.LINE_ID;

                        standard.commit;--只是后台commit到数据库,并不是Formcommit

                 End If;

     

    2 另外一种办法:如果是数据源是一张多表视图,但只更新数据到一张表,这种情况比较好处理。
    a.先将数据块的Query表与 DML 目标表分别设置
    b.然后将非DML 表的字段设置 Query only设置“是” 。这点是必须要注意的!重复:非DML表的字段(例如Rowid)QUERY_ONLY必须设为是,否则改的时候会报错误。

    c.应的View的数据库必须将ItemTABLE IDPrimary Key属性设为Y才行。

    经过严格的测试,发现这种应该是对单表—View的一个比较完善的非常简单的做法。

    对于QUERY_ONLY=N(非基表栏位)的时候,这个记录的UPDATE属性设为Y,这时候也可以修改这个栏位!

    2Form同时修改1笔记录的时候:

    1Form已经修改了,没保存;另外一个Form修改的时候,会不断自动尝试,点取消的时候会提示nowait锁有错

    当另外一个Form已经修改了,保存了;另外一个Form试图修改的时候,会提示记录已经被别人更新了。

    展开全文
  • 我们使用navicat for Mysql工具编写SQL时,查询出来的数据直接进行修改操作,只能再次打开找到需要修改的数据进行修改数据,但有些时候表字段比较多,且中的数据量也比较大,我们并能快速定位到需要修改...

    我们使用navicat for Mysql工具编写SQL时,查询出来的数据并不能直接进行修改操作,只能再次打开表找到需要修改的数据进行修改数据,但有些时候表字段比较多,且表中的数据量也比较大,我们并不能快速定位到需要修改的那条记录。这个问题困扰了不少同学。今天,小编就在这里教教大家,如何在新建查询时对查询的结果进行修改。

    首先,我们来看看问题的现象。原来的sql语句如下:

    SELECT
    	jobName,
    	jobGroup,
    	jobStatus,
    	cronExpression,
    	description,
    	beanClass,
    	springId,
    	methodName,
    	createTime,
    	updateTime 
    FROM
    	`schedule_job`;

    结果如下: 

    如果表中没有设置或添加一列作为primary key(主键)的话,是无法直接进行修改操作的。

    解决办法:我们只需要添加或设置一列id,并设置为primary key并且自动递增,就可以进行修改操作了。

    在上述SQL中,我们需要在SQL上稍作改动就可以在新建查询窗口直接对数据进行修改了,在SQL中加上对主键Id字段或将select后面的查询的条件改为【*】就可以了。

    SQL语句如下:

    SELECT
    	jobId,
    	jobName,
    	jobGroup,
    	jobStatus,
    	cronExpression,
    	description,
    	beanClass,
    	springId,
    	methodName,
    	createTime,
    	updateTime 
    FROM
    	`schedule_job`;

    或者 

    SELECT
    	* 
    FROM
    	`schedule_job`;

    添加ID查询后的结果如下图所示: 

    这时候却发现【只读】属性不见了 ,那么我们就可以对在查询窗口对数据进行修改了。

    那么问题来了,这只是对单表的操作,若是对多张表关联查询,查询的结果是否还能在查询窗口进行修改操作呢?能?为什么?不能?又为什么?

    最后这个问题就留给大家去讨论吧,欢迎大家在评论区进行讨论与留言。

    展开全文
  • 进行父子组件传值时,用到子组件直接控制父组件中的变量值以及vue中直接更改对象或者数组的值,视图未发生变化的解决办法,当时完成项目时,一直未找到原因,修改了好久。 1.父子组件传值双向绑定 传递给子...
    在进行父子组件传值时,用到子组件直接控制父组件中的变量值以及在vue中直接更改对象或者数组的值,视图未发生变化的解决办法,当时完成项目时,一直未找到原因,修改了好久。

    1.父子组件传值双向绑定

    • 在传递给子组件中的变量上使用.sync修饰符,就能够实现父子传值的双向绑定
    <!-- 父组件 -->
    <template>
      <div class="audioCate">
        <child :show.sync="showModel" @closeModel="handleCloseModel"></child>
      </div>
    </template>
    <script>
      import child from './child'
      export default{
        components: {
           child,
        }
        data() {
          return {
            showModel: false
          }
        },
        methods: {
          handleCloseModel() {
            this.showModel = false;
          }
        }
      }
    </script>
    <!-- 子组件 -->
    <template>
      <div class="cate" @click="handleClick">
        <div></div>
      </div>
    </template>
    <script>
      export default{
        props: {
          show: Boolean,
        },
        data() {
          return {
            showModel: false
          }
        },
        methods: {
          handleClick() {
            /* 直接更新父组件中的showModel值 */
            this.$emit('update:show', false);
            /* 或者调用父组件中的方法对showModel进行更改 */
            /* this.$emit('closeModel'); */
          }
        }
      }
    </script>

    2.修改对象或数组中的键,视图未发生变化

    • 使用$set方法进行修改,官方文档中也有说明
    • 当时我是直接对数组中的值进行修改,但是视图没有发生变化
    <script>
      export default{
        data() {
          return {
            item: {
              title: '222'
            },
            options: [11, 22],
            list: [
              {
                title: '2222'
              }
            ]
          }
        },
        created() {
          /* 对于对象,第一个为要修改的对象,第二个参数为对象的键,第三个为要修改的键对应的值 */
          this.$set(this.item, 'title', '2200');
          /* 对于对象,第一个为要修改的数组,第二个参数为数组索引,第三个为要修改的索引对应的值 */
          this.$set(this.options, 0, 33);
          /* 对于数组里包含对象,可以利用循环对其进行修改 */
          this.list.forEach(item => {
            this.$set(item, '_disableExpand', true);
          });
          /* 对于数组里包含对象,也可以利用Object.assign对其进行修改 */
          this.list[0] = Object.assign({}, this.list[0], { num: 10 });
          this.$set(this.list, 0, this.list[0]);
        },
      }
    </script>
    • 也可以直接进行修改后对页面进行强制刷新,使用$forceUpdate()方法
    this.options[0] = 100;
    this.$forceUpdate();

     

     

    展开全文
  • MySQL数据库视图视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图不直接存储数据,不知真正的。 关系型数据库中的数据是由一张一张的二维关系所组成,简单的单查询只需要遍历一个,而复杂的多查询需要将多个连接起来进行查询任务。对于复杂的查询事件,每次查询...
  • Sql Server视图数据的增删

    万次阅读 多人点赞 2017-09-13 00:09:16
    因此数据库中只存在视图的定义,而存在视图中相对应的数据数据仍然存放原来的基本中。视图是一种逻辑对象。 二、 视图能做什么 导出数据导出数据时,常常需要多个联合查询,这个时候就...
  • 我的印象一直以为是可以修改,查了查,原来一定的前提下,是可以的,无论是单个还是多关联,只要能区分映射‘实体’,否则,可以使用触发器。 视图中使用DML的规定: l可以简单视图中执行DML 操作 ...
  • vue渲染机制和如何解决数据修改页面刷新问题的多种方法 本文讲原理,只讲干货易懂易学,(感觉能学到知识,麻烦给小编来个赞!) 首先 第一点,vue底层是 将data对象传人,使用Object.definePropety,转换...
  • 1、必须有权限 2、单表视图直接改3、多视图中定义 instead of 触发器.4、对由多连接成的视图修改数据时,能同时影响一个以上的基表,也能删除视图中的数据 5、对视图上的某些列能修改,这些列是:计算...
  • vue里,改变数组里的某个值,控制台打印数据已经变化,但是界面没重新渲染,如 var data=[ { name:'张三', age:'27岁', msg:'落魄前端' }, { name:'李四', age:'28岁', msg:'落魄前端' } ] 比如我...
  • vue 数据改变,视图更新

    千次阅读 2018-10-19 16:14:12
    Vue中,你可能经常遇到这个问题,数据明明已经变化,但是相应的视图却没有更新。 举个例子: 一个10行的列表,选中一行,该行的背景色变化。 上代码: CSS: .itemIsSelected{ background:red; } HTML: ...
  • 第一步:同样是拖入控件,并对其数据源进行连线所以我就直接拿上一张的图片就截图了。 如果有明白的请点击连接 010 Xcode4.5上创建IOS6.0应用 (高级控件 表视图 基本表视图) 第二步:对H...
  • vue中修改了数据视图无法更新的情况 标签: vue 2017-08-14 10:24 2147人阅读 评论(0) 收藏 举报 分类: vue(4) 我们有时候常碰到vue中明明修改了数据,但是视图无法更新,因此...
  • Oracle 数据字典和数据字典视图

    千次阅读 2019-02-15 10:17:55
    Oracle 数据字典和数据字典视图
  • 我们开发过程中会碰到数据更新,但是视图并未改变的情况,情况如下: 1.数组数据改变时,使用某些方法操作数组,数据变了,但是视图并没改变。(页面没有监测到数据改变) 解决办法: 使用下面这些方法操作数组,...
  • 一个组件实例中,只有data里初始化的数据才是响应的,Vue能检测到对象属性的添加或删除,没有data里声明的属性不是响应的。 Vue允许已经创建的实例上动态添加根级响应式属性,但是可以使用$set方法将...
  • 原因是Vue2.+ 中data数据对象是通过Object.defineProerty来进行数据的双向数据绑定,而数组则是监听数组的push和pop等操作数组的方法进行双向绑定的,因此当是通过下标来修改时便能更新视图 此时我们该怎么办呢?...
  • --插入一个新学生元组 INSERT INTO S(SNO,ANAME,SEX,SDEPT,AGE) ...--插入张成民的信息到s中 INSERT INTO S VALUES('200915126','张成民','M',18,'CS'); --插入一条选课记录 INSERT INTO SC(SNO,CNO) VA
  • 小程序 视图不数据动态改变

    千次阅读 2018-08-08 17:14:24
    setData的时候要修改的值是需要加this.data.xxx的,直接xxx, 一般直接修改data的值直接修改,修改数组中对象的值或者对象的属性值都要先转为字符串再加中括号,如果有变量可以用ES6的模版字符串反单引号或者字符...
  • Hive基础一(数据库,,分区视图,导入导出数据) Hive基础二(join原理和机制,join的几种类型,数据倾斜简单处理) Hive基础三(查询中常用的语法)注意Hive版本问题,可能有些命令适用或者漏掉了。查看...
  • 数据库视图什么,和什么区别和联系

    万次阅读 多人点赞 2019-01-21 17:42:19
    4、只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,可以及时四对它进行修改,但视图只能有创建的语句来修改。 5、是内模式,试图是外模式。 6、视图是查看数据表的一种方法,可以查询数据表中...
  • 数据驱动视图简单实现

    千次阅读 2016-05-30 11:38:12
    数据驱动视图简单实现前端框架日新月异,Angularjs的MVVM模式风靡全球,React的MV模式也被大家捧得火热。我知道有多少人使用Vue.js,这也重要,框架对于前端从业人员而言绝对是提升效率的利器,各种框架/各种...
  • 此前遇到直接insert or update 视图问题时查阅了一些资料,也看过很多篇博客,但是大多数都是转载,解决方法都一样没用。 后来找到以下方法解决了问题,当基本数据修改后手动刷新视图就行了。 其实手动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 295,628
精华内容 118,251
关键字:

为什么不在数据表视图直接改