我想做一个函数,里面要处理来自好几个表的数据,我想先把这些个数据从多个表中读取到函数中的一个临时定义的表中。请问该如何处理?另外这个表定义后如何引用?谢谢

解决方案 »

  1.   

    create table #t()
    创建临时的表
    表名第一个字符表示临时表
      

  2.   

    可以用临时表:select .....into #t/tt from tablename ..........
    也可以定义表变量:declare @tablename table(col1 type,col2 type.....)
      

  3.   

    表变量声明后就可以像使用普通表那样:
    insert into @tablename 
    select...................
    insert into @tablename(col1.....)values(........)
    查询: select*from @tablename
      

  4.   

    create function FunName(
       @Parm1 varchar(30),
       .....
    )returns @tab table(
      Columns1 varchar(30),
      ....
    )
    as 
    begin
      inserted @tab(......)
      select ..... 
      from YourTables  return --必须的
    end----
    调用 select * from FunName(@Param1, ...)
      

  5.   

    CREATE FUNCTION f_test1
    ()
    RETURNS varchar(100)
    AS
    BEGIN
        declare @s varchar(20)
        declare @t table(a1 varchar(10)    insert @t(a1) SELECT a1 from a    select top 1 @s=a1 from @t    RETURN @s
    END
    GO
    这个为什么不行呢
    搞不明白