私はC#で書かれたアプリケーションをデータベースに接続し、そのデータを分析し、データベースに自動テストの実行に関する情報を格納しています。上記の条件を満たすテスト。しかし、私たちは別のプロジェクトを持っており、ますますサポートしていきますので、それぞれに異なるプロシージャを作成するのではなく、名前を渡してください - 2番目のパラメータdeployをパラメータとして使用して、クエリはプロジェクトに依存し、アプリケーションでは、レポートで送信します。何かアドバイスのためプロシージャに文字列変数を渡してクエリに追加する
CREATE PROCEDURE [dbo].[SuspectsForFalsePositive](@build_id INT, @deploy VARCHAR(25))
AS
BEGIN
SET NOCOUNT ON;
DECLARE @i int, @build int, @deployname varchar(25), @SQL varchar(max)
DECLARE @result table (tc int, fp float)
SET @i = 0
SET @build = @build_id
SET @deployname = @deploy
SET @SQL = 'insert '[email protected]+'select testcase_id, fail_percentage FROM [BuildTestResults].[dbo].['[email protected]+'TestCaseExecution]
where build_id = @build and fail_percentage >= 70'
--INSERT @result select testcase_id, fail_percentage FROM [BuildTestResults]
--.[dbo].[ABCTestCaseExecution]
--where build_id = @build and fail_percentage >= 70
--commented works
EXEC(@SQL)
WHILE (@@rowcount = 0)
BEGIN
SET @build = @build - 1
EXEC(@SQL)
--INSERT @result select testcase_id, fail_percentage FROM [BuildTestResults].[dbo]. --[ABCTestCaseExecution]
--where build_id = @build and fail_percentage >= 70
--commented works
END
select * from @result order by fp DESC
END
GO
ありがとう:それはこのようになります当分のために
!
"プロジェクト"はどのようにデータベースに保存されていますか?別のテーブル? – Oded
正確に異なるテーブル – Artur
Erland Sommarskogの[動的SQLの呪いと祝福](http://www.sommarskog.se/dynamic_sql.html)を読むことをお勧めします。 – Oded