SQL Server - Tablas Temporales

 
Vista:

Tablas Temporales

Publicado por Alejandro Arancibia (2 intervenciones) el 28/11/2006 20:07:05
Hola Amigos,

El problema es el siguiente utilizando Delphi Studio 2006 con SQL SERVER 2000 necesito crear una tabla temporal mientras dura una consulta; nota a esta consulta pueden acceder simultaneamente varios usuarios.

La Instruccion para crear la tabla la entrega el motor:

CREATE PROCEDURE pa_NuevaTablaTemporal @nombre varchar(50)
AS
DECLARE @ntabla VARCHAR(50)
SELECT @ntabla=@nombre
IF exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[@ntabla]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[@ntabla]
CREATE TABLE [dbo].[@ntabla] (
[campo1] [int] NOT NULL ,
[campo2] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[campo3] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
GO

Pero el problema que tengo es que el Motor no esta tomando el contenido de la variable @nombre que es generada por la interfaz aleatoriamente y crea la tabla temporal con el nombre @nombre y no su contenido.

Si alguien sabe como es la instruccion y me puede ayudar se lo agradeceria

Muchas Gracias

Alejandro Arancibia
Valparaiso - CHILE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tablas Temporales

Publicado por Isaías (3308 intervenciones) el 29/11/2006 20:25:03
Debes usar QUERY DINAMICO, con sus pros y contras.

CREATE PROCEDURE pa_NuevaTablaTemporal
@nombre varchar(50)
AS
DECLARE @SQLString NVARCHAR(100)

SET @SQLString = N'
CREATE TABLE [dbo].##['+@nombre +'] (
[campo1] [int] NOT NULL ,
[campo2] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[campo3] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY] '
EXECUTE sp_executesql @SQLString

NOTA: le estoy colocando ## al nombre de tu tabla, porque dices que son tablas TEMPORALES.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tablas Temporales

Publicado por Alejandro Arancibia (2 intervenciones) el 29/11/2006 22:19:55
Muchas Gracias Isais (Como el Profeta?)

Lo voy a Probar y te cuento

Muchas Gracias

Nota: Pasaron 400 años app de silencio antes de que aparecia el Profeta Isaias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar