【发布时间】:2014-11-19 20:13:18
【问题描述】:
我有一个从 eForm 表输出总计的存储过程。我想使用这个存储过程从其他 eForm 表中提取数据,因此想用参数替换 From 子句中的 eForm 表名。我已阅读其他问题,但找不到有助于在 From 中使用参数的问题。此存储过程的代码如下所示 -
IF OBJECT_ID ('sp_SelectEformMonthlyTotals') IS NOT NULL
DROP PROCEDURE sp_SelectEformMonthlyTotals
GO
CREATE PROCEDURE sp_SelectEformMonthlyTotals @EFORMNAME VARCHAR (200) = ''
AS
CREATE TABLE #TEMP (EFORMNAME VARCHAR (200))
INSERT INTO #TEMP
EXEC sp_UpdateEForm @EFORMNAME
SELECT ....
FROM @EFORMNAME T1 INNER JOIN FLODS_CASE_ENQUIRY_F00 T2 ON T1.EFORM_CASE_ENQUIRY_ID = T2.CASE_ENQUIRY_ID
WHERE T2.CREATED_DT >= '2012-04-02'
GROUP BY MONTH(T2.CREATED_DT), YEAR(T2.CREATED_DT)) T3
ORDER BY YEAR, MONTH_NUMBER
DROP TABLE #TEMP
这是许多人的最新尝试,现在包括第二个名为 sp_UpdateEForm 的存储过程 -
IF OBJECT_ID ('sp_UpdateEForm') IS NOT NULL
DROP PROCEDURE sp_UpdateEForm
GO
CREATE PROCEDURE sp_UpdateEForm @EFORMNAME VARCHAR (200) = ''
AS
UPDATE FRANCIS
SET eFormName = @EFORMNAME
我创建了 Francis 表来保存 eFormName。我可以看到我需要在 sp_SelectEformMonthlyTotals 完成之前设置 @EFORMNAME 的值,但我似乎找不到这样做的方法。
谢谢。
弗兰克
【问题讨论】: