Hola que tal, bueno el motivo de este msj es para solicitarles su ayuda con una funcion con la cual tengo problemas.
Les explico a grandes rasgos, yo ocupo actualizar un campo que es una clave y para eso utilizo una funcion, pero dentro de la funcion utilizo un EXECUTE para ejecutar una cadena con la cual obtengo unos datos para hacer la validacion de los datos a actualizar pero me sale el error " Invalid use of "EXECUTE" within a function ", pero no encuentro ningun error, puesto que al ejecutarl lo mismo en SP no marca error
El ejemplo del codigo seria asi mas o menos:
UPDATE tabla
SET clave = dbo.funcionclave codigo
CREATE FUNCTION dbo.funcionclae codigo INT
RETURN INT
AS
DECLARE @nClaveRegreso INT
DECLARE @cSql VARCHAR(8000)
DECLARE @nVeces INT
DECLARE @nSuma INT
SET @nVeces = 1
SET @nSuma = 0
SELECT @cSql = 'SELECT '
WHILE @nVeces < 7
BEGIN
SELECT @cSql = Rtrim(cSql) + 'campo '+CAST(@nVeces AS VARCHAR)
END
SELECT @cSql = Rtrim(@cSql) + ' INTO tmpvariable '
SELECT @cSql = Rtrim(@cSql) + ' FROM tablacampos '
SELECT @cSql = Rtrim(@cSql) + 'WHERE codigo = '+@nCodigo
EXECUTE @cSql -- Nota: Lo intente poniendole EXECUTE (@cSql) pero marca error en el operador
SELECT @nSuma = COUNT(*) FROM tmpvariable
RETURN @nSuma
END