Ese mensaje en particular no sé a qué se refiere, pero en general me parece que no se puede usar exec dentro de una función. Sí dentro de un store procedure.(Además veo que hay errores en el armado del query en sí, pero eso es otro problema. La ubicación de la clausula into, los campos insertados difieren con los campos de la tabla..., pero no es ese el tema de la colgada).Saludos, Daniel
-----Original Message-----
From: "Julian Berlin" < [EMAIL PROTECTED]>
To: "dbms List Member" <[email protected]>
Date: Thu, 12 Oct 2006 15:26:56 -0300
Subject: [dbms] Error al uUsar EXEC desde una funcion
Hola gente
Tengo el siguiente problema , tengo la siguiente Query de SQL en donde uso la funcion EXEC() para ejecutar una Quero dinámicamente:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE FUNCTION dbo .GetCountries
(
@QuerySearch VarChar (8000 )
)
RETURNS @Countries TABLE(CountryName varchar( 50 ), ClientName varchar (50 ) , AnnualicedA numeric(18 ,4) ,
AnnualicedB numeric ( 18,4) ,MarketSharesA numeric(18,4) , MarketSharesB numeric (18 ,4),evolution numeric (18,4) )
AS
BEGIN
Declare @SQL VarChar (8000)
--DECLARE @Countries TABLE(Country varchar(50))
SET @SQL = 'SELECT DISTINCT E_COUNTRY.X_country_name AS Country
FROM
E_GPS_CONTRACT LEFT OUTER JOIN E_COUNTRY ON E_COUNTRY.Country_ID = E_GPS_CONTRACT.Country_ID
WHERE E_COUNTRY.X_country_name IS NOT NULL '
SET @SQL = @SQL + @QuerySearch + 'INTO @Countries'
Exec ( @SQL )
RETURN
END
GO
-------------------------------------------------------------------------------
Pero al querer ejecutarlo me tira el siguiente error y no tengo idea que puede ser…:
Msg 443, Level 16, State 14, Procedure GetCountries, Line 22
Invalid use of side-effecting or time-dependent operator in 'EXECUTE STRING' within a function.
Si alguien tiene idea que puede ser lo agradecere
Saludos
Julián R Berlín
Hexacta S.A.
tel. +54 11 4779 6326.
Andrés Arguibel 2860.
Buenos Aires, Argentina.
--
----------------------------------------------------
Microsoft MVP (Most Valuable Professional) SQL Server
Orador Culminis
(www.sqlgurus.org)
-------------------------------------------
