Nombre de tabla como parametro en Procedimiento

19/05/2004 - 18:32 por Federico F. | Informe spam
Estoy desarrollando un procedimiento en el que se
necesita pasar el nombre de la tabla como parámetro, la
construcción sería parecida a esta, pero SQL Server no me
acepta la variable en el FROM


CREATE PROCEDURE UltimoId (@NombreTabla nvarchar(50))
as
begin
DECLARE @IdRegistro int
SET @IdRegistro = (SELECT TOP 1 CampoId FROM @NombreTabla
ORDER BY CampoId DESC)
SELECT @IdRegistro as UltimoId
END

gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Maxi
19/05/2004 - 18:39 | Informe spam
Hola, si quiere hacer eso deberia usar el Store : Sp_executesql, revise como
se usa en sus libros on line.

De paso, le digo que esta tecnica es muy mala por serios problemas de
seguridad y performance

Suerte


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Federico F." escribió en el mensaje
news:f52b01c43dbe$e48d42c0$
Estoy desarrollando un procedimiento en el que se
necesita pasar el nombre de la tabla como parámetro, la
construcción sería parecida a esta, pero SQL Server no me
acepta la variable en el FROM


CREATE PROCEDURE UltimoId (@NombreTabla nvarchar(50))
as
begin
DECLARE @IdRegistro int
SET @IdRegistro = (SELECT TOP 1 CampoId FROM @NombreTabla
ORDER BY CampoId DESC)
SELECT @IdRegistro as UltimoId
END

gracias por su ayuda



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 05/05/2004
Respuesta Responder a este mensaje
#2 Federico F.
19/05/2004 - 19:15 | Informe spam
Ante todo gracias por su ayuda, pero lo que necesito es
poder utilizar el valor devuelto por el select dentro del
mismo procedimiento almacenado y no se como realizar esto
con SP_executesql

Lo que tambien me valdría seria poder asignar el
resultado de un EXEC a una variable para utilizar dentro
del propio procedimiento

muchas gracias!

Hola, si quiere hacer eso deberia usar el Store :


Sp_executesql, revise como
se usa en sus libros on line.

De paso, le digo que esta tecnica es muy mala por serios


problemas de
seguridad y performance

Suerte


Salu2

Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET

Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Federico F." escribió en el


mensaje
news:f52b01c43dbe$e48d42c0$
Estoy desarrollando un procedimiento en el que se
necesita pasar el nombre de la tabla como parámetro, la
construcción sería parecida a esta, pero SQL Server no me
acepta la variable en el FROM


CREATE PROCEDURE UltimoId (@NombreTabla nvarchar(50))
as
begin
DECLARE @IdRegistro int
SET @IdRegistro = (SELECT TOP 1 CampoId FROM @NombreTabla
ORDER BY CampoId DESC)
SELECT @IdRegistro as UltimoId
END

gracias por su ayuda



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system


(http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date:


05/05/2004


.

Respuesta Responder a este mensaje
#3 Maxi
19/05/2004 - 19:21 | Informe spam
No te entiendo!! si vos tenes uan variable para la tabla ya ahi tenes el
parametro que necesitas no?


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Federico F." escribió en el mensaje
news:f51601c43dc4$f3bb9de0$
Ante todo gracias por su ayuda, pero lo que necesito es
poder utilizar el valor devuelto por el select dentro del
mismo procedimiento almacenado y no se como realizar esto
con SP_executesql

Lo que tambien me valdría seria poder asignar el
resultado de un EXEC a una variable para utilizar dentro
del propio procedimiento

muchas gracias!

Hola, si quiere hacer eso deberia usar el Store :


Sp_executesql, revise como
se usa en sus libros on line.

De paso, le digo que esta tecnica es muy mala por serios


problemas de
seguridad y performance

Suerte


Salu2

Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET

Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Federico F." escribió en el


mensaje
news:f52b01c43dbe$e48d42c0$
Estoy desarrollando un procedimiento en el que se
necesita pasar el nombre de la tabla como parámetro, la
construcción sería parecida a esta, pero SQL Server no me
acepta la variable en el FROM


CREATE PROCEDURE UltimoId (@NombreTabla nvarchar(50))
as
begin
DECLARE @IdRegistro int
SET @IdRegistro = (SELECT TOP 1 CampoId FROM @NombreTabla
ORDER BY CampoId DESC)
SELECT @IdRegistro as UltimoId
END

gracias por su ayuda



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system


(http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date:


05/05/2004


.






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.676 / Virus Database: 438 - Release Date: 05/05/2004
Respuesta Responder a este mensaje
#4 ONIL
20/05/2004 - 00:05 | Informe spam
Hola Federico.. !
Copiado de mi aportación del dia 28/04/2004 "store con nombres de tablas"

CREATE PROCEDURE Tabla
@TName As varchar(30)
AS
SET NOCOUNT ON

DECLARE @SQLString nvarchar(100)
SET @SQLString='SELECT * FROM ' + @TName

EXEC sp_executesql @SQLString
GO

EXEC Tabla 'Id_02_Anios'


Recibe Salu2.
(\__/)
(=':'=)
(")_(")

MX.

"Federico F." wrote in message
news:f52b01c43dbe$e48d42c0$
Estoy desarrollando un procedimiento en el que se
necesita pasar el nombre de la tabla como parámetro, la
construcción sería parecida a esta, pero SQL Server no me
acepta la variable en el FROM


CREATE PROCEDURE UltimoId (@NombreTabla nvarchar(50))
as
begin
DECLARE @IdRegistro int
SET @IdRegistro = (SELECT TOP 1 CampoId FROM @NombreTabla
ORDER BY CampoId DESC)
SELECT @IdRegistro as UltimoId
END

gracias por su ayuda
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida