【发布时间】:2013-11-19 08:23:29
【问题描述】:
我正在尝试将外部应用放在表变量上,但出现如下错误
无法调用表上的方法。
我有拆分功能,可以将字符串拆分成一定的长度
CREATE FUNCTION Split(@String varchar(MAX), @SplitLength int)
RETURNS @Result TABLE (Splited varchar(MAX))
AS
BEGIN
Declare @Cnt int
Set @Cnt = FLOOR((len(@String)/@SplitLength));
While @Cnt!=0
Begin
SET @Cnt=@Cnt-1;
While len(@String)>@SplitLength
Begin
INSERT INTO @Result VALUES (SUBSTRING(@String,1,@SplitLength))
SET @String=SUBSTRING(@String,@SplitLength+1,len(@String)-@SplitLength)
End
End
RETURN
END
我加入了包含要拆分字符串的列的表变量
DECLARE @LeftSuper TABLE
(
KeyTerm VARCHAR(MAX),
Data VARCHAR(MAX) ,
)
查询如下生成错误(无法调用表上的方法)
select KeyTerm ,D.Splited from @LeftSuper
outer apply [Split](@LeftSuper.Data,300) as D
注意:代码与 db 中的 Real Table 一起工作正常。
【问题讨论】:
标签: sql sql-server table-valued-parameters table-variable