SQL Server函数的问题将错误匹配的数据返回到其列

时间:2012-07-11 16:52:26

标签: sql-server sql-server-2008 function redgate

SQL Server 2008,这是函数

ALTER FUNCTION [dbo].[This_Function] 
(   
    @StartDate As smalldatetime,
    @EndDate As smalldatetime   
)
RETURNS TABLE 
AS
RETURN 
(
    Select col1, col2, col3, col4, .... col20 from Table1 t1 
    inner join 
    dbo.Function2 f2
    t1.id = f2.id
)

结果很糟糕!

|col1 (boolean)|col2 (Date)|...
|2012-01-03    | abcdefghi |...

如果我在函数外部运行上述查询,它会带来一致的结果。

这里很奇怪:
我运行上面的整个查询而不进行任何更改,以便更改/更新函数。 然后再次select这个函数,它会带回正确的结果!

该函数中没有使用@temp表,但对于SQL Server函数本身,是什么导致它无法正确更新?

N.B。通常情况下,我使用Red-Gate Multi-Script工具让DB更新所有客户端,这可能是多脚本工具引起的问题吗?

如何在所有客户端数据库中修复它?

0 个答案:

没有答案