to:cobi(我是小新,我只有5岁) :
   刚刚看了你的“简历”,也是“前辈”级人物呵,不止5岁吧。:-)
   谢谢你的关注。不是我搞错了,我的视图显示正常,你所说的也是对的。
但是,我关注的不是“显示”问题,显示一切正常。我是想通过更新视图的
方式,实现表的更新。主要的目的是避免在程序设计的时候,还需要打开数
据字典表(D_SEX)进行分析、操作。
   也就是说,我如何才能实现通过翻译了代码的视图,更新原表。

解决方案 »

  1.   

    你不是要修改视图里面的数据吧????
    视图不可能允许你修改的阿~~--引用数据字典的用户视图
    CREATE VIEW V_USER
    (
      USERNAME,USERSEX
    )
    AS
      SELECT USERNAME=A.USERNAME,USERSEX=(
        SELECT B.TEXT FROM D_SEX B WHERE B.CODE=A.SEX)
      FROM T_USERS A你的这个视图看起来和数据库的表是一样的~~可是他每次都是根据视图中的语句临时取出数据阿~~~
      

  2.   

    to:cobi(我是小新,我只有5岁) :
      另外,对视图的写入、更新操作也是允许的。
      

  3.   

    下面的视图允许更新,当然,更新是必须符合CREATE TABLE T_USER和
    CREATE TABLE D_SEX是的约束。CREATE VIEW V_User
      (UserName, UserSex,SEX,SEXCODE)
    AS 
      SELECT 
        UserName = A.UserName, 
        USERSEX=B.Text,
        SEX=A.SEX,
        SEXCODE=B.CODE  
      FROM Users A, D_SEX B 
      WHERE B.CODE=A.SEX这张视图,可以像一张表一样进行更新。原数据库也会被同步更新。
      

  4.   

    create view "informix".name_v (xm,xb) as select x0.xm,(select x1.dmmc from "informix".c_xbdm x1 where (x1.dm = x0.xb ))from "informix".name x0 ;其中c_xbdm 是代码库,存放性别代码和性别信息
    x1.dm 存放的是代码
    x0.xb 存放的也是代码
      

  5.   

    TO:cobi(我是小新,我只有5岁)
      这张视图允许更新吗?我用的是MS SQL SERVER 2000。
      

  6.   

    我直接在sql exploerer中修改视图,象你的想法一样,但是不成功。
    系统提示为not update permission
      

  7.   

    如果要更新视图的数据,必须保证数据匹配的唯一性,否则是不行的,这只是对SQL Server 而言的,如果用DB2等大型数据库的话,视图是不可以被修改的。
      

  8.   

    liang_z(千山一刀之忍者神龟)谈到:
      用MS Sql Server 2000 可以在视图上建触发器!在修改前和修改后都可以触发。
    用这种思路试可以解决我的问题的,这个思路很好,接受。lovewangj(lllll)谈到:
      SQL Server 2000允许操作视图,而DB2不允许。那么Oracle、Infomix呢?如果它们也不支持的话,我就不需要在讨论这个视图更新
    的问题了。所以,我的问题到此为止。我还是在前端操作数据字典,来实现上面的功
    能吧。
    如果某位大虾有更好的意见,可以Mail我。[email protected],有分相赠。:-)
    谢谢楼上各位关注!!