Answers

Question and Answer:

  Home  MS SQL Server

⟩ How To End a Stored Procedure Properly in MS SQL Server?

Where the end of the "CREATE PROCEDURE" statement structure? The answer is simple, the end of the statement batch.

Even if you are using a "BEGIN ... END" statement block, the stored procedure structure is not going to end at the end of the statement block. It will continue to the end of the statement batch, usually the GO command. The tutorial exercise gives you a good example:

USE GlobalGuideLineDatabase;

GO

DROP PROCEDURE ShowFaq;

DROP TABLE Faq;

GO

-- How this statement batch will be executed?

CREATE PROCEDURE ShowFaq AS BEGIN

PRINT 'Number of questions:';

SELECT COUNT(*) FROM Faq;

PRINT 'First 5 questions:'

SELECT TOP 5 * FROM Faq;

END;

CREATE TABLE Faq (Question VARCHAR(80));

GO

EXEC ShowFaq;

GO

Number of questions:

Msg 208, Level 16, State 1, Procedure ShowFaq, Line 3

Invalid object name 'Faq'.

What happened here was that the "CREATE TABLE" statement was not execueted. It was included as part of the stored procedure "ShowFaq". This is why you were getting the error "Invalid object name 'Faq'."

 129 views

More Questions for you: