T-SQL Tutorial

Temporary User-defined procedures

In SQL Server, temporary user-defined procedures can be stored in the tempdb database. This can be useful when you need to create a procedure that is only needed for the duration of a session or a particular task.

When a temporary user-defined procedure is created, it is stored in the tempdb database and has a name that begins with a pound sign (#). This naming convention helps to distinguish temporary procedures from regular, permanent procedures.


To create a temporary user-defined procedure in SQL Server uses the following syntax:

USE tempdb;
-- Procedure code goes here


To create a temporary user-defined procedure, you can use the CREATE PROCEDURE statement with the added keyword "tempdb" to specify that the procedure should be created in tempdb. Here is an example:

SELECT * FROM SomeTable WHERE SomeColumn = 'SomeValue'

In this example, we are creating a temporary stored procedure named #tempProcedure. The # prefix indicates that it is a temporary object that is only available for the current session. The procedure selects all rows from SomeTable where SomeColumn is equal to 'SomeValue'.

Once the procedure is created, you can call it just like any other stored procedure. When the session or task that created the temporary procedure ends, the procedure is automatically dropped from tempdb. If you try to call the procedure after the session or task has ended, you will receive an error message stating that the procedure does not exist.

It is important to note that temporary procedures can only be accessed within the same session or task in which they were created. If you need to share the procedure between multiple sessions or tasks, you will need to create a global temporary procedure instead, which begins with a double pound sign (##) instead of a single pound sign (#).

In conclusion, storing temporary user-defined procedures in tempdb can be a convenient way to create procedures that are only needed for a short period of time. However, it is important to be aware of the limitations and scope of temporary procedures to ensure that they are used appropriately.