自定义函数目前还实现不了这个功能,因为你的table name是动态的.这就要求用动态语句来处理,但函数限制了动态语句的使用.

解决方案 »

  1.   

    未在下面的列表中列出的语句不能用在函数主体中。 赋值语句。
    控制流语句。
    DECLARE 语句,该语句定义函数局部的数据变量和游标。
    SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
    游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
    INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
    EXECUTE 语句调用扩展存储过程。 
      

  2.   

    可以做,將表名傳入,從syscolumns提取字段,但好象沒多大意義?
      

  3.   

    存储过程可以不?
    比如你输入
    pro_exp(你的表名)
    就给你返回结果集合可以么?/要么?要我就去做
      

  4.   

    卡卡 ,謝謝樓上回復
    意義很大,因為 涉及了 20 幾種數據庫之間資料的整合
    如果可以用存儲過程就好了現在的難題是:如果將 table name 傳入,那麼自然可以取字段名兩大問題 
    1. 字段值如何獲取?
    2. 函數的返回值隻有一個,那麼怎樣保証函數的返回值是逐行排列的