在这里,我将展示从另一个函数引用一个不存在的函数是可能的,并且 SQL Server 直到执行时间才检查它:
USE [SomeDataBase];
SELECT dbo.Booo();
显然,如果您没有功能Booo
,则会生成有关功能Booo
无法识别的错误。不过这并不意外!
现在,试试这个:
CREATE FUNCTION dbo.Foo()
RETURNS INT
AS
BEGIN
DECLARE @Temp INT
SET @Temp = (SELECT dbo.Booo())
RETURN 1
END
Foo
令人惊讶的是,尽管Booo
函数没有退出,但这个脚本创建了函数。
任何想法?