SQL - Enviar tabla como parametro a store procedure

 
Vista:

Enviar tabla como parametro a store procedure

Publicado por Paola (3 intervenciones) el 25/10/2006 23:06:56
hola

necesito enviar el nombre de la tabla como parametro a un store procedure para realizar operaciones sobre la tabla.

gracias
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:Enviar tabla como parametro a store procedure

Publicado por luishoracio (15 intervenciones) el 26/10/2006 00:04:05
Buenas tardes paola,

Para eso debes de tener el store procedure asi:

CREATE PROCEDURE manejo (@nomtabla varchar(20)) AS

*@nomtabla es el parametro que recibe el nombre de la tabla
* si quieres hacer un select con la tabla que envías es asi:

select * from @nomtabla -- esta es una forma o hay otra que es así

declare @cadena as varchar(60)

set @cadena='select * from '+@nomtabla
exec @cadena

* con lo anterior puedes hacer selects con condiciones que puedas parametrizar, campos o lo que necesites
*el declare es crear una variable local en el SP
*exec ejecuta la cadena que creamos

Espero que esto te sirva

hasta pronto
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:Enviar tabla como parametro a store procedure

Publicado por Paola (3 intervenciones) el 26/10/2006 17:30:20
necesito hacer uu update sobre esa tablita que paso por parametro pero me da error, ¿solo servira para select?

gracias,
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:Enviar tabla como parametro a store procedure

Publicado por luishoracio (15 intervenciones) el 26/10/2006 20:26:40
Buenas tardes,

no eso tambien sirve para el update, lo que pasa es que ya te toaría parametrizar los campos que vas a actualizar.

Si quieres me escribes a mi correo y te digo como se hace eso
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:Enviar tabla como parametro a store procedure

Publicado por Antonio (9 intervenciones) el 27/10/2006 18:16:13
Si utilzas SQL Server
usa sp_executesql puedes pasarle paremetros

DECLARE @IntVariable INT
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)

SET @SQLString =
N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = @level'
SET @ParmDefinition = N'@level tinyint'

SET @IntVariable = 35
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@level = @IntVariable

SET @IntVariable = 32
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@level = @IntVariable
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:Enviar tabla como parametro a store procedure

Publicado por Paola (3 intervenciones) el 27/10/2006 16:21:58
necesito hacer uu update sobre esa tablita que paso por parametro pero me da error, ¿solo servira para select?

gracias,
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:Enviar tabla como parametro a store procedure

Publicado por Isaías (5072 intervenciones) el 27/10/2006 22:24:27
Paola

Lo que tu necesitas es QUERY DINAMICOS, te pongo un ejemplo

DECLARE @mytabla VARCHAR(20)
DECLARE @SQLString NVARCHAR(100)
SET @mytabla = 'CLIENTE'
SET @SQLString = N'SELECT * FROM '+@mytabla
EXEC sp_executesql @SQLString

Asi, para UPDATE, DELETE, INSERT, etc.
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