ver tutorial stored procedimiento eliminar drop delete create crear codigo almacenado stored-procedures sql-server-2000 sql-drop

stored-procedures - procedimiento - stored procedure sql tutorial



¿Cuál es la sintaxis para eliminar un procedimiento almacenado en SQL Server 2000? (4)

En SQL SERVER 2008 , si desea descartar un procedimiento almacenado, simplemente escriba el siguiente comando ....

DROP PROC Procedure_name DROP PROC dbo.spInsertUser

Espero eso ayude..

Pregunta simple, como sugiere el título:

¿Cuál es la sintaxis para eliminar un Procedimiento almacenado (SP) en SQL Server 2000, al comprobar primero que el SP existe?

Por favor ingrese el código completo.


Me gusta esto:

IF EXISTS (SELECT name FROM sysobjects WHERE name = ''my_procedure'' AND type = ''P'') DROP PROCEDURE my_procedure GO

¡Espero que ayude!


Un método un poco más simple sin ir a las tablas del sistema:

IF OBJECT_ID(''my_procedure'') IS NOT NULL DROP PROCEDURE my_procedure GO


Microsoft recomendó usar la función object_id() , así:

IF EXISTS (select * from dbo.sysobjects where id = object_id(N''[dbo].[YourProcedure]'') and OBJECTPROPERTY(id, N''IsProcedure'') = 1) DROP PROCEDURE [dbo].[YourProcedure] GO

.
object_id() ayuda a resolver conflictos entre propietarios. Si lo haces
SELECT name FROM sysobjects WHERE name = ''my_procedure'' , puede ver muchos procedimientos diferentes con el mismo nombre, todos para diferentes propietarios.

Pero, SELECT * FROM sysobjects WHERE id = object_id(N''[my_procedure]'') solo le mostrará el del propietario / usuario actual, si existe más de un procedimiento con ese nombre.

Aún así, especifique siempre el propietario del objeto (el valor predeterminado es dbo ). Esto no solo evita los desagradables efectos secundarios, también es un poco más rápido.