Saltar al contenido

¿Cómo eliminar todos los procedimientos almacenados a la vez en la base de datos de SQL Server?

Solución:

Preferiría hacerlo de esta manera:

  • Primero genere la lista de procedimientos almacenados para eliminar inspeccionando la vista del catálogo del sistema:

    SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_id) + '].[' + p.NAME + '];'
    FROM sys.procedures p 
    

    Esto genera una lista de DROP PROCEDURE declaraciones en la ventana de salida de SSMS.

  • copie esa lista en una nueva ventana de consulta, y posiblemente adáptela / cámbiela y luego ejecútela

Sin cursores desordenados y lentos, le da la capacidad de verificar y volver a verificar su lista de procedimientos para ser eliminados antes de que realmente los elimine.

Algo como (Encontrado en Eliminar todos los procedimientos de una base de datos usando un procedimiento almacenado en SQL Server).

Por cierto, esto parece un MUY cosa peligrosa que hacer, solo un pensamiento …

declare @procName varchar(500)
declare cur cursor 

for select [name] from sys.objects where type="p"
open cur
fetch next from cur into @procName
while @@fetch_status = 0
begin
    exec('drop procedure [' + @procName + ']')
    fetch next from cur into @procName
end
close cur
deallocate cur

  1. Haga clic en la pestaña Procedimientos almacenados
  2. Presione f7 para mostrar todos los procedimientos almacenados
  3. Seleccionar todo el procedimiento con Ctrl + A excepto la tabla del sistema
  4. Presione el botón Eliminar y haga clic en Aceptar.

Puede Eliminar tabla y Ver de la misma manera.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *