RT,在一个查询过程中,declare了一个@table,数据来自其他的table。现在想对这个@table中的内容通过ASP.NET或SharePoint建立的用户界面进行修改,然后保存回其他的table中。求解决这个要求的各种思路。是否必须把@table建立成实际的table啊?

解决方案 »

  1.   

    变量表的存在周期很短,一旦你执行完查询,或者存储过程,该表就会消失,当你返回到程序界面的时候,表变量已经不存在了,还改什么create 出来的表是可以做任何修改的。
      

  2.   


    这个必须要用到表变量么?直接在需求表取了在界面显示,修改保存直接影响到table不可以么?
      

  3.   

    #1.把@table建立成一个可更新视图.但需要视图符合一定的条件.http://chytmaths.blog.163.com/blog/static/294829722007759542386/
    #2.如果逻辑复杂,还是自己写SQL直接更新相关表.
      

  4.   

    在程序里调用 sql 存储过程,在存储过程中建立临时表,经处理后在临时表中有数据,再用 select 语句将临时表中的数据作为记录集返回给程序,可以在程序上显示并作相应的修改,修改后的数据可以再传到相关的存储过程,以修改后的数据对指定的表进行相应的修改,这没什么不可以的.
    注意,临时表就是不在数据库中物理存储的数据集,你取出来以后,就没有原来的临时表了,但取出的数据与数据库中的表的对应关系(指查询方式)依然存在,你完全可以通过相应的语句将修改后的数据集再写入到数据库中去.
    关键,你要清楚你是怎么获得数据的,又是要怎么更改数据的.
      

  5.   

    这个临时表是从XML type的数据产生的,这个XML type的数据存放在实际的table中。最后还是决定把XML都建成table,因为XML可能的格式数量不多。谢谢大家的建议!