在SQL2008中,增加数据列后,使用人员如果不重新链接数据表就会出现错误数据。可是在使用人员数较多的情况下,要求全部使用人重新链接存在困难,请问,是否有办法在修改数据列后,使用人无需任何操作就可直接使用新表的办法。

解决方案 »

  1.   


    需要刷新元数据信息哦。 sp_recompile ‘表名’如果使用视图,就需要 sp_refreshview '视图名'
      

  2.   

    你说的是VIEW的问题吗?如果是的话用上面给出的刷新一下就可以了。
      

  3.   

    我设置一个测试数据表,test,使用update命令后出现下面的情况
    UPDATE [工程项目管理数据].[dbo].[test]
       SET [a] = <a, nchar(10),>
          ,[b] = <b, nchar(10),>
          ,[c] = <c, nchar(10),>
          ,[d] = <d, nchar(10),>
          ,[e] = <e, nchar(10),>
          ,[f] = <f, nchar(10),>
          ,[g] = <g, nchar(10),>
          ,[h] = <h, nchar(10),>
          ,[i] = <i, nchar(10),>
     WHERE <搜索条件,,>
    GO
    sp_recompile"test"执行后出现如下提示消息 102,级别 15,状态 1,第 2 行
    '<' 附近有语法错误。
    已成功地标记对象 'test',以便对它重新进行编译。求解。
      

  4.   


    UPDATE [工程项目管理数据].[dbo].[test]
       SET [a] = <a, nchar(10),>
          ,[b] = <b, nchar(10),>
          ,[c] = <c, nchar(10),>
          ,[d] = <d, nchar(10),>
          ,[e] = <e, nchar(10),>
          ,[f] = <f, nchar(10),>
          ,[g] = <g, nchar(10),>
          ,[h] = <h, nchar(10),>
          ,[i] = <i, nchar(10),>
     WHERE <搜索条件,,>这个语句不是标准TSQL语法吧.. 
    set [字段]='[值]'  --> [值]的前后要加单引号喔.
      

  5.   

    谢谢4楼的帮助,现在前面10条记录已正常通过,但运行到“where<搜索条件,,>”这里又出现错误了,请教一下where在这里起什么作用,该如何纠正在这里出现的“102”错误代码?
      

  6.   

    Where是限制条件,只更新满足where条件的纪录