日期:2014-05-18  浏览次数:20501 次

特急!!!!!!!!
set   rowcount   100
select   *   from   item1()

ITem1()是我的自定义函数,返回一个表,其内容形式如下:
CREATE       FUNCTION   Item_1(@ItemNo   varchar(20))    
RETURNS   @Item   TABLE
(
    DEA001   varchar(20),     --   品号   8
    DEA002   varchar(60),     --   品名  
    DEA036   varchar(20),     --   快捷码  
    DEA003   varchar(4   ),     --   库存单位  
    DEA008   varchar(6   ),     --   主要仓库  
    DED003C   varchar(12),     --   商品分类类别  
    DED003A   varchar(12),     --   会计分类类别  
    DEA013   varchar(1   ),     --   注销  
    DEA018   int,                   --   前置天数  
    DEA022   numeric(14,6),   --   标准进价  
    DEA023   numeric(14,6),   --   最近进价  
    DEA024   numeric(14,6),   --   零售价  
    DEA025   numeric(14,6),   --   定价一  
    DEA026   numeric(14,6),   --   定价二  
    DEA027   numeric(14,6),   --   定价三  
    DEA028   numeric(14,6),   --   定价四  
    DEA010   varchar(10),       --   主供应商  
    DEA007   varchar(1   ),       --   计算库存  
    DEA011   varchar(4   )   ,       --   循环盘点码
    DEA005   varchar(6   ),       --商品分类
    DEA006   varchar(6   )       --会计分类
)
AS
BEGIN  
        insert   @Item
              select   DEA001,   DEA002,   DEA036,   DEA003,   DEA008,
                            CLASS.DED003   DED003C,   ACCT.DED003   DED003A,
                            DEA013,   DEA018,   DEA022,   DEA023,   DEA024,   DEA025,  
                            DEA026,   DEA027,   DEA028,   DEA010,   DEA007,   DEA011,
                            DEA005,   DEA006      
              from   TPADEA
              left   join     TPADED   as   CLASS   on   DEA005=CLASS.DED002   and   CLASS.DED001= '0 '
              left   join     TPADED   as   ACCT   on   DEA006=ACCT.DED002   and   ACCT.DED001= '1 '
              where   DEA001   > =   @ItemNo
          if   @@ROWCOUNT   <=   0
          insert   @Item