现在有一个表,里面有个Id和其他字段,
我现在需要根据这个Id去其他好几个表里去取值(1对多,而结果是取好几个个串出来,所以无法直接关联)
我现在有两种方法,
第一用游标,
依次循环上面那个表,再执行一个取字符串的函数,取得结果第二种方法,因为取字符串的函数结果集是一个表,我想通过语句来关联这个表,
也就是把这个函数当做一个表来关联,请问哪种方法快一些呢说一下原因,谢谢,

解决方案 »

  1.   

    可以建立一个视图,用ID把相关数据关联进来,其他的就操作这张view就好了。
      

  2.   

    我个人认为用游标可以让思路更清晰一点。。可能我对SQL的理解还不够深放吧。。用游标我也并没有感觉速度慢很多。。我个人用的比较多呵呵
      

  3.   


    SQL是说明式语言,只需说明做什么,而不用管怎么做。带着过程式语言的思维用SQL往往会喜欢游标。
    如果把思维方式转变为说明式语言的思维,那么你会发现SQL这种面向集合的处理比起游标的循环处理更加简单明了。另外,同样的功能,集合式批量处理比游标的循环处理快10倍以上。
      

  4.   

    把表理解为关系,才能理解SQL(关系数据库)的本质。
    http://topic.csdn.net/u/20100826/18/ba72991f-f961-4c18-8d9b-f234c87a609d.html滥用游标,都是把表看成一个类似数组或列表的数据结构、把SQL看成一种过程式编程语言来操作的思维。