我有一个函数,它有3个参数,我想用BIDS把它放到SSRS中。
我需要将此函数转换为存储过程来执行此操作,但我无法使其工作。
在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
答案 0 :(得分: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)