Ejecutar consulta con variables

05/04/2006 - 17:24 por Maria Molina | Informe spam
He creado una funcion en el cual se forma una cadena en forma dinámica
@cadena='select @campo from @tabla'
luego quiero ejecutar esa cadena en la misma funcion
exec @cadena

la funcion es invocada desde una vista sql Server y envio como valores el
nombre del campo y la tabla y cuando la ejecuto me da el siguiente mensaje
-No encuentra el procedimiento 'select ncampo from ntabla'-

como puedo ejecutar la cadena que formé

Preguntas similare

Leer las respuestas

#1 Isaias
05/04/2006 - 18:22 | Informe spam
SQL Dinamico:

DECLARE @SQLSTRING NVACHAR(1000),
@mycampo VARCHAR(15),
@myTabla VARCHAR(15)
SET @mycampo = 'CLIENTEID'
SET @myTabla = 'CLIENTE'
SET @SQLSTRING = N'SELECT '+@mycampo+' FROM '+@myTabla
EXECUTE sp_executesql @SQLSTRING
Saludos
IIslas


"Maria Molina" escribió:

He creado una funcion en el cual se forma una cadena en forma dinámica
@cadena='select @campo from @tabla'
luego quiero ejecutar esa cadena en la misma funcion
exec @cadena

la funcion es invocada desde una vista sql Server y envio como valores el
nombre del campo y la tabla y cuando la ejecuto me da el siguiente mensaje
-No encuentra el procedimiento 'select ncampo from ntabla'-

como puedo ejecutar la cadena que formé




Respuesta Responder a este mensaje
#2 Maria Molina
06/04/2006 - 18:00 | Informe spam
al ejecutar la funcion desde una consulta me da el siguiente mensaje
-only functions and extend stored procedures can be executed from within a
function-

"Isaias" escribió en el mensaje
news:
SQL Dinamico:

DECLARE @SQLSTRING NVACHAR(1000),
@mycampo VARCHAR(15),
@myTabla VARCHAR(15)
SET @mycampo = 'CLIENTEID'
SET @myTabla = 'CLIENTE'
SET @SQLSTRING = N'SELECT '+@mycampo+' FROM '+@myTabla
EXECUTE sp_executesql @SQLSTRING
Saludos
IIslas


"Maria Molina" escribió:

He creado una funcion en el cual se forma una cadena en forma dinámica
@cadena='select @campo from @tabla'
luego quiero ejecutar esa cadena en la misma funcion
exec @cadena

la funcion es invocada desde una vista sql Server y envio como valores el
nombre del campo y la tabla y cuando la ejecuto me da el siguiente
mensaje
-No encuentra el procedimiento 'select ncampo from ntabla'-

como puedo ejecutar la cadena que formé




Respuesta Responder a este mensaje
#3 Maxi
06/04/2006 - 20:47 | Informe spam
Podrias poner que has escrito?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Maria Molina" escribió en el mensaje
news:
al ejecutar la funcion desde una consulta me da el siguiente mensaje
-only functions and extend stored procedures can be executed from within a
function-

"Isaias" escribió en el mensaje
news:
SQL Dinamico:

DECLARE @SQLSTRING NVACHAR(1000),
@mycampo VARCHAR(15),
@myTabla VARCHAR(15)
SET @mycampo = 'CLIENTEID'
SET @myTabla = 'CLIENTE'
SET @SQLSTRING = N'SELECT '+@mycampo+' FROM '+@myTabla
EXECUTE sp_executesql @SQLSTRING
Saludos
IIslas


"Maria Molina" escribió:

He creado una funcion en el cual se forma una cadena en forma dinámica
@cadena='select @campo from @tabla'
luego quiero ejecutar esa cadena en la misma funcion
exec @cadena

la funcion es invocada desde una vista sql Server y envio como valores
el
nombre del campo y la tabla y cuando la ejecuto me da el siguiente
mensaje
-No encuentra el procedimiento 'select ncampo from ntabla'-

como puedo ejecutar la cadena que formé










Respuesta Responder a este mensaje
#4 Maria Molina
07/04/2006 - 14:30 | Informe spam
realice la siguiente fincion en la base Northwind

CREATE FUNCTION [dbo].[ejemplo]( @mycampon varchar(15))
RETURNS nvarchar (200 ) AS
BEGIN

DECLARE @SQLString NVARCHAR(500)
declare @mycampo VARCHAR(15)
declare @myTabla VARCHAR(15)
SET @mycampo = 'LastName'
SET @myTabla = 'Employees'

'Da%')


SET @SQLString = '(SELECT '+ @mycampo + ' FROM ' + @myTabla + N' WHERE
LastName LIKE ''Da%'')'


EXEC sp_executesql @SQLString

return @SQLString

END


Luego desde un vista invoco la funcion

CREATE VIEW dbo.VIEW1
AS
SELECT dbo.ejemplo('uno') AS Expr1

al ejecutarla me da el mensaje expresado anteriormente

"Maxi" escribió en el mensaje
news:%23%
Podrias poner que has escrito?


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Maria Molina" escribió en el mensaje
news:
al ejecutar la funcion desde una consulta me da el siguiente mensaje
-only functions and extend stored procedures can be executed from within
a function-

"Isaias" escribió en el mensaje
news:
SQL Dinamico:

DECLARE @SQLSTRING NVACHAR(1000),
@mycampo VARCHAR(15),
@myTabla VARCHAR(15)
SET @mycampo = 'CLIENTEID'
SET @myTabla = 'CLIENTE'
SET @SQLSTRING = N'SELECT '+@mycampo+' FROM '+@myTabla
EXECUTE sp_executesql @SQLSTRING
Saludos
IIslas


"Maria Molina" escribió:

He creado una funcion en el cual se forma una cadena en forma dinámica
@cadena='select @campo from @tabla'
luego quiero ejecutar esa cadena en la misma funcion
exec @cadena

la funcion es invocada desde una vista sql Server y envio como valores
el
nombre del campo y la tabla y cuando la ejecuto me da el siguiente
mensaje
-No encuentra el procedimiento 'select ncampo from ntabla'-

como puedo ejecutar la cadena que formé














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