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)