2011-05-10 45 views
1

我有一个SQL UDF,我需要定义WITH SCHEMABINDING和WITH EXECUTE作为OWNER。我已经尝试了许多组合,包括两次列出WITH关键字,尝试各种连接方法或运算符等,并没有很多运气。在SQL UDF中需要多个WITH语句

任何人可以帮助我如何在一个单一的UDF

CREATE FUNCTION [dbo].[Func_PullFolderIdsForUser](@companyId [int], @userId [int]) 
    RETURNS @folders TABLE (
     [FolderID] [int] NULL, 
    ) WITH SCHEMABINDING 
    AS 
    BEGIN 

回答

3

逗号定义多个with语句分隔。例如

CREATE FUNCTION [dbo].[Func_PullFolderIdsForUser](@companyId [INT], @userId [INT]) 
    RETURNS @folders TABLE (
     [FolderID] [INT] NULL 
    ) WITH SCHEMABINDING, EXECUTE AS SELF 
    AS 
    BEGIN 
    INSERT INTO @folders VALUES(1) 
    RETURN 
    END 
+0

哇,那简单..谢谢..不知道为什么我不能拿出那个。 – OperatorOverload 2011-05-10 18:34:44