2014-04-10 40 views
0

我有一個函數,它具有3個參數,我想使用BIDS將其放入SSRS。SQL將函數轉換爲存儲過程

我需要這個功能轉換爲存儲過程來做到這一點,但我不能得到這個工作。

在Select語句中,我已經在下面的例子中刪除了它,因爲它大約有3000行代碼,有很多單獨的選擇和子查詢。

函數的創建腳本如下。

USE [SERVER1] 
GO 

/****** Object: UserDefinedFunction [dbo].[NewFunction] Script Date: 04/10/2014 11:49:21 ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

CREATE FUNCTION [dbo].[NewFunction] 
(
@start datetime, 
@end datetime, 
@name int 
) 

RETURNS TABLE AS RETURN (

SELECT bla, bla, bla LOTS OF SELECTS AND SUB QUERYS IN HERE 

FROM t1 
LEFT OUTER JOIN t2 ON t1.f1 = t2.f1 
LEFT OUTER JOIN t3 ON t1.f1 = t3.f1 


WHERE f1 IN (@name) 
) 

GO 

回答

3

存儲過程的語法爲:

CREATE PROCEDURE [dbo].[NewProcedure] 
(
@start datetime, 
@end datetime, 
@name int 
) 
AS 

SELECT bla, bla, bla LOTS OF SELECTS AND SUB QUERYS IN HERE 

FROM t1 
LEFT OUTER JOIN t2 ON t1.f1 = t2.f1 
LEFT OUTER JOIN t3 ON t1.f1 = t3.f1 

WHERE f1 IN (@name) 
+1

工作完美! – Matt

+2

@Matt你應該接受答案,如果它幫助你。 –

+1

@ M.Ali我是,你可以接受問題創建後的第一〜15分鐘。 – Matt