您的位置:程序门 -> ms-sql server -> 基础类



一个自定义函数返回表结构的错误


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个自定义函数返回表结构的错误[已结贴,结贴人:ddjusdsau]
发表于:2007-05-06 16:15:23 楼主


create   function   p_split  
(@c       varchar(2000),@split   varchar(20))
return   table
as
    declare   @t   table(ccc       varchar(20))      
        begin      
            while(charindex(@split,@c) <> 0)      
                begin      
                    insert       @t(ccc)       values       (substring(@c,1,charindex(@split,@c)-1))      
                    set       @c       =       stuff(@c,1,charindex(@split,@c), ' ')     --   删除指定长度的字符并在指定的起始点插入另一组字符  
                end      
            insert       @t(ccc)       values       (@c)         ---最后一个不含分隔的加进来
            return   (select   *   from   @t)
        end  

从网上找个存储过程,想转成自定义函数   ,可是生成的时候老是错误,不知道为何,错误提示如下,请帮我看看```
发表于:2007-05-06 16:15:371楼 得分:0
服务器:   消息   156,级别   15,状态   1,过程   p_split,行   3
在关键字   'return '   附近有语法错误。
服务器:   消息   178,级别   15,状态   1,过程   p_split,行   14
在此上下文中不能使用带有返回值的   return   语句。
发表于:2007-05-06 16:16:232楼 得分:0
一个类似split功能的自定义函数````
发表于:2007-05-06 16:23:193楼 得分:10
create   function   p_split  
(@c       varchar(2000),@split   varchar(20))
returns   @t   table(ccc       varchar(20))  
as
        begin      
            while(charindex(@split,@c) <> 0)      
                begin      
                    insert       @t(ccc)       values       (substring(@c,1,charindex(@split,@c)-1))      
                    set       @c       =       stuff(@c,1,charindex(@split,@c), ' ')     --   删除指定长度的字符并在指定的起始点插入另一组字符  
                end      
            insert       @t(ccc)       values       (@c)         ---最后一个不含分隔的加进来
            return
        end  
go
--調用
select   *   from   dbo.p_split( '1.2.3 ',   '. ')
发表于:2007-05-06 16:26:374楼 得分:0
可以了,万分感谢!!
发表于:2007-05-06 16:26:545楼 得分:0
问一下,为什么这里return不用给值呢??
发表于:2007-05-06 16:27:116楼 得分:0
还有,我要怎么给分你??
发表于:2007-05-06 16:29:377楼 得分:10
你看下聯機幫助的create   function

返回是表變量的時候,return那裡特殊一些。


點帖子右上角的“管理”,你就知道怎麼給分了。
发表于:2007-05-06 16:30:388楼 得分:0
谢谢```


快速检索

最新资讯
热门点击