Solved

Execute stored procedure inside a stored procedure

Posted on 2008-10-21
3
2,068 Views
Last Modified: 2012-05-05
I have an execute statement for a stored procedure inside of a stored procedure (template below) , the execute is set to run after an inset into a table. The StoredProc2 is dependent on the inserted record. I run the StoredProc1 in a loop from my vb.net code.
For some reason it seems like occasionally the StoredProc2 that depends on the insert in StoredProc1
executes before the insert completes. Is there a way I can force my StoredProc2 run only after the insert completes.

StoredProc1
 Begin
             INSERT INTO  MyTbl &

            EXECUTE StoredProc2 &
 End

Thanks
Vb

0
Comment
Question by:vbothello
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 125 total points
ID: 22771475
>For some reason it seems like occasionally the StoredProc2 that depends on the insert in StoredProc1
executes before the insert completes.

that is not possible. TSQL is executed sequentially.

you must be "observing" incorrectly.
0
 
LVL 31

Assisted Solution

by:James Murrell
James Murrell earned 125 total points
ID: 22771490
i have used this before http://www.aspfree.com/c/a/ASP.NET-Code/Call-Stored-procedure-from-within-another-stored-procedure-return-values/

This quick how-to shows an example of having two stored procedures that one stored procedure executes the other stored procedure passing values and returning a value to the calling parent stored proc. This would be handy passing in a value to dynamically populate a lookup table and stored that Id as a foreign key in a datatable. . This example asssumes you would have a parent table and a child/lookup table related back to the parent table.

'This stored procedure is called by a bu ...This quick how-to shows an example of having two stored procedures that one stored procedure executes the other stored procedure passing values and returning a value to the calling parent stored proc.  This would be handy passing in a value to dynamically populate a lookup table and stored that Id as a foreign key in a datatable.  .  This example asssumes you would have a parent table and a child/lookup table related back to the parent table.
[code]
'This stored procedure is called by a business component or webpage
'passing into two parameters, executes sp_ChildStoredProc and passes on value.
'The @Id OUTPUT returns the value.  

CREATE PROCEDURE sp_ParentStoredProc
(
@col1 varchar(20)
@ValuePassed varchar(50),
)
AS

declare @Id int
EXEC sp_ReturnValue @ValuePassed, @Id OUTPUT

INSERT INTO SomeTable
(col1, col2)
VALUES
(@col1, @Id)
RETURN
GO


'This stored procedure is executed in the sp_ParentStoredProc above and passes'a varchar variable piece of data. The spChildStoredProc will insert this piece of data'into a lookup table if it doesn't exist, return the Identity column using Scope_Identity() function or'will return the identity value to the parent stored proc if the piece of data passed in already exists in the lookup table.

CREATE PROCEDURE sp_ChildStoredProc

(
@ValuePassedIn varchar(50),
@Id smallint OUTPUT
)
 AS

If exists (SELECT column1 FROM LookUpTable WHERE column1=@ValuePassedIn)
BEGIN
SET @Id = (SELECT column1
   FROM LookUpTable
   WHERE column1=@ValuePassedIn)
END
ELSE
BEGIN
INSERT INTO LookUpTable(column1)
VALUES(@ValuePassedIn)
   
    SET @Id = Scope_Identity()
END
GO
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ms sql and asp dates 5 42
Error "Could not load mobile report" in SQL SSRS 2016 after SP1 CU2 Update 2 40
VM SQL server license. 1 62
SQL: Transformation or Pivot 3 34
Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Viewers will learn how the fundamental information of how to create a table.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question