【解決方法】INSERT EXEC ステートメントはネストできません

プログラミングQA


「INSERT EXEC ステートメントはネストできません。」というエラーを解決するにはどうすればよいですか?
私の手順は次のようなものです。

SQL
CREATE PROCEDURE [dbo].[Procedure3]

   @para1 varchar(50),
   @para2 datetime
   
AS
BEGIN
CREATE TABLE #tem
(
 ….
 ….
)
insert into #tem (value) exec [dbo].[Procedure2] @para1,@para2,@para3
…….
…….
……….

END

そして、このストアド プロシージャ内で [dbo]。[Procedure2] 我々は持っています

SQL
CREATE PROCEDURE [dbo].[Procedure2]

   @para1 varchar(50),
   @para2 datetime,
   @para3 decimal(18,2)

AS
BEGIN
CREATE TABLE #temp
(
 Value decimal(18,2)
)
insert into #temp exec Procedure1 @para1,@para2,@para3
……..
…….
……..
select Name,Amount from #Temp1


END

出来ますか? 「はい」の場合、どのようにして?

解決策 1

あなたはそれを間違っています…私が間違っていなければ、ストアドプロシージャの結果を一時テーブルに挿入しようとしています。 同じことを別の方法で達成することもできます…

チェックアウト :
1. http://sqlserverplanet.com/sql/insert-stored-procedure-results-into-table/[^]

2. http://blog.coryfoy.com/2005/07/inserting-the-results-of-a-stored-procedure-to-a-temp-table/[^]

3. http://barry-king.com/2008/05/06/insert-into-temporary-table-from-stored-procedure/[^]

4. http://www.informit.com/articles/article.aspx?p=25288&seqNum=6[^]

お役に立てれば。
ではごきげんよう。

コメント

タイトルとURLをコピーしました