Store Procedure que venga como parametro nombre Tabla

09/11/2006 - 20:19 por dhvilla | Informe spam
Hola Grupo:

Quiero crear un SP que venga como parametro el nombre de la tabla que quiero
crear junto con sus campos, sin embargo me manda error.

Se que puede hacer como #temporal, pero quiero definir el nombre sin que me
lo haga de manera aleatoria como temporal, ojala y alguien me ayude me urge
mucho,

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°

Preguntas similare

Leer las respuestas

#1 Isaias
10/11/2006 - 00:00 | Informe spam
En este foro encontraras muchos ejemplos de QUERY DINAMICO, lee las
advertencias sobre el uso de este tipo de querys.
Saludos
IIslas


"dhvilla" wrote:

Hola Grupo:

Quiero crear un SP que venga como parametro el nombre de la tabla que quiero
crear junto con sus campos, sin embargo me manda error.

Se que puede hacer como #temporal, pero quiero definir el nombre sin que me
lo haga de manera aleatoria como temporal, ojala y alguien me ayude me urge
mucho,

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°

Respuesta Responder a este mensaje
#2 Gustavo Larriera \(MVP\)
10/11/2006 - 03:39 | Informe spam
No nos dices demasiado del problema.

Muéstranos el código del sproc y cuál es el mensaje de error que recibes.

Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/


"dhvilla" wrote in message
news:
Hola Grupo:

Quiero crear un SP que venga como parametro el nombre de la tabla que
quiero
crear junto con sus campos, sin embargo me manda error.

Se que puede hacer como #temporal, pero quiero definir el nombre sin que
me
lo haga de manera aleatoria como temporal, ojala y alguien me ayude me
urge
mucho,

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°

Respuesta Responder a este mensaje
#3 dhvilla
10/11/2006 - 19:21 | Informe spam
Muy Cierto Gustavo:

Este es el ejemplo que quiero meter en un SP

declare
@vTabla as varchar(100)
set @vTabla = 'cobert' + convert(varchar,getdate())
create table @vTabla (CVE_GRUPO INT,
CVE_PRODUCTO INT,
CVE_SUBRAMO INT,
CVE_ASE INT,
CVE_AGENTE INT,
CVE_PAQUETE INT,
DESC_PAQUETE VARCHAR(100),
CVE_COBERTURA INT,
DESC_COBERTURA VARCHAR(100),
SUM_ASEGURADA VARCHAR(50),
PORC_DEDUCIBLE FLOAT(8),
DEDUCIBLE VARCHAR(25),
ORDEN_IMP SMALLINT,
CVE_USUARIO VARCHAR(10),
ACTIVO SMALLINT,
ELIMINADO BIT)

el error que manda es:

Servidor: mensaje 170, nivel 15, estado 1, línea 4
Línea 4: sintaxis incorrecta cerca de '@vTabla'.

Te lo voy a agradecer mucho si me puedes orientar

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°



"Gustavo Larriera (MVP)" wrote:

No nos dices demasiado del problema.

Muéstranos el código del sproc y cuál es el mensaje de error que recibes.

Respuesta Responder a este mensaje
#4 Ele
10/11/2006 - 20:03 | Informe spam
como nos dice Isaias necesitas cambiar el codigo a un query dinamico que
basicamente consta en que la instucion se asigna en una variable
alfanumerica y despues ejecutas esta variable con exec echa un vistazo a la
ayuda
suerte
"dhvilla" escribió en el mensaje
news:
Muy Cierto Gustavo:

Este es el ejemplo que quiero meter en un SP

declare
@vTabla as varchar(100)
set @vTabla = 'cobert' + convert(varchar,getdate())
create table @vTabla (CVE_GRUPO INT,
CVE_PRODUCTO INT,
CVE_SUBRAMO INT,
CVE_ASE INT,
CVE_AGENTE INT,
CVE_PAQUETE INT,
DESC_PAQUETE VARCHAR(100),
CVE_COBERTURA INT,
DESC_COBERTURA VARCHAR(100),
SUM_ASEGURADA VARCHAR(50),
PORC_DEDUCIBLE FLOAT(8),
DEDUCIBLE VARCHAR(25),
ORDEN_IMP SMALLINT,
CVE_USUARIO VARCHAR(10),
ACTIVO SMALLINT,
ELIMINADO BIT)

el error que manda es:

Servidor: mensaje 170, nivel 15, estado 1, línea 4
Línea 4: sintaxis incorrecta cerca de '@vTabla'.

Te lo voy a agradecer mucho si me puedes orientar

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°



"Gustavo Larriera (MVP)" wrote:

No nos dices demasiado del problema.

Muéstranos el código del sproc y cuál es el mensaje de error que recibes.




Respuesta Responder a este mensaje
#5 dhvilla
10/11/2006 - 22:54 | Informe spam
Hola Muchas Gracias por su valiosa ayuda.

Asi quedaria el script:



declare
@vTabla as varchar(100),
@vQuery as varchar(6000)

set @vTabla = 'cotizador.cobert' + convert(varchar,getdate(),112) +
convert(varchar,DatePart(hour, getdate())) + convert(varchar,DatePart(minute,
getdate())) + convert(varchar,DatePart(second, getdate()) +
DatePart(millisecond, getdate()))

set @vquery = 'create table ' + @vTabla + ' (CVE_GRUPO INT, '
set @vquery = @vquery + 'CVE_PRODUCTO INT, '
set @vquery = @vquery + 'CVE_SUBRAMO INT, '
set @vquery = @vquery + 'CVE_ASE INT, '
set @vquery = @vquery + 'CVE_AGENTE INT, '
set @vquery = @vquery + 'CVE_PAQUETE INT, '
set @vquery = @vquery + 'DESC_PAQUETE VARCHAR(100), '
set @vquery = @vquery + 'CVE_COBERTURA INT, '
set @vquery = @vquery + 'DESC_COBERTURA VARCHAR(100), '
set @vquery = @vquery + 'SUM_ASEGURADA VARCHAR(50), '
set @vquery = @vquery + 'PORC_DEDUCIBLE FLOAT(8), '
set @vquery = @vquery + 'DEDUCIBLE VARCHAR(25), '
set @vquery = @vquery + 'ORDEN_IMP SMALLINT, '
set @vquery = @vquery + 'CVE_USUARIO VARCHAR(10), '
set @vquery = @vquery + 'ACTIVO SMALLINT, '
set @vquery = @vquery + 'ELIMINADO BIT)'

print(@vquery)
exec (@vquery)

set @vquery = 'drop table ' + @vTabla

exec (@vquery)
print(@vquery)

Salu2 Cordiales

¸,ø¤º°`°º¤ø,¸ L.I. Daniel H. Villa°`°º¤ø,¸¸,ø¤º°



"Ele" wrote:

como nos dice Isaias necesitas cambiar el codigo a un query dinamico que
basicamente consta en que la instucion se asigna en una variable
alfanumerica y despues ejecutas esta variable con exec echa un vistazo a la
ayuda
suerte
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida