Saltar al contenido

No se puede eliminar la tabla temporal de SQL

Solución:

SELECT … INTO … en sí misma crea la tabla #Temp. No necesita la instrucción CREATE TABLE aquí. Elimine la instrucción “CREATE TABLE” e intente.

Ya tienes una entidad con el nombre “Temp” en tu base de datos. Y no puede eliminar esa entidad debido a los permisos de acceso.

No es necesario eliminar la tabla temporal, ya que solo está visible hasta la sesión.

Create PROCEDURE proctemptable
BEGIN

IF object_id('tempdb..#Temp') is not null  // Try this hope this will work
BEGIN
  DROP TABLE #Temp
END

CREATE TABLE #Temp
(
    UsersId int,
    ValautionCount int 
)

SELECT
    U.UserId, 
    COUNT(*) AS ValautionCount
INTO  #Temp
FROM 
    Users U
    Right JOIN Valuation V ON V.ValuationUser = U.UserId
GROUP BY 
    U.UserId

//DROP TABLE #Temp 

END

No es necesario eliminar la tabla #Temp, la eliminará automáticamente cuando se complete la ejecución del procedimiento almacenado

O

Consulte este enlace para obtener más tablas temporales en el servidor SQL

http://www.simple-talk.com/sql/t-sql-programming/temporary-tables-in-sql-server/

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


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

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