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ó:

Mostrar la cita
#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:
Mostrar la cita
#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:
Mostrar la cita
#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%
Mostrar la cita
Ads by Google
Search Busqueda sugerida