Cita:
Empezado por Neftali
Puedes utilizar un TADOQuery o un TADoStoredProc para ejecutar la consulta que te crea la tabla.
Lo más sencillo para la tabla temporal es que uses como nombre: ##NumeroAleatorio
El número aleatorio es para no usar siempre el mismo, por si creas más de una tabla durante la ejecución del programa.
Lo del ## es porque crearás una tabla temporal que se elimina automáticamente cuando finaliza esa sesión y sólo es visible en esa sesión. Si el programa fallara en el borrado o acabara inesperadamente SQL Server se encargaría de borrarla por ti.
|
Muchas Gracias, pero como seria la instruccion dentro del Procedimiento Almacenado?, el motor se encargara entonces de crear una nueva tabla temporal si el numero que le asigna esta siendo utilizado por otro usuario?
Aqui va el codigo de lo que he realizado
CREATE PROCEDURE pa_NuevaTablaTemporal @nombre varchar(50)
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[@nombre]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[@nombre]
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]
GO
En nombre de la Tabla lo envio aleatoriamente desde la interfaz como parametro, pero el problema radica en que no toma en cuenta el nombre enviado como parametro.
Si me puedes ayudar con este codigo o si lo prefieres me puedes ayudar con el codigo que describes arriba en base al ##numeroaleatorio
Lo que te sea + facil
Muchas Gracias
Alejandro