Hola, foreros. Estoy creando un programa que me crea una base de datos en
una instancia de SQL Server. En un fichero de texto cargo los Create
Datatable y ejecuto ese texto como un script, con un
sqlcommand.ExecuteNonQuery. Los create datatable me los genera
correctamente, y los Create Procedure también, pero tengo un problemilla
creando unas funciones definidas por el usuario. Al hacer un Create Function
me da el siguiente error:
Esta es la funcion:
CREATE FUNCTION funLeerSerieDeFraDesdeAlbaran
(@IdFact int)
RETURNS nvarchar(5)
AS
BEGIN
DECLARE @valor nvarchar(5)
SELECT @valor = tbSerie.Codigo FROM tbDocCab INNER JOIN tbSerie ON
tbSerie.Id = tbDocCab.Serie
WHERE tbDocCab.IdDoc = @IdFact
return @valor
END
El error al ejecutar el command.ExecuteNonQuery:
ex.message "Línea 4: sintaxis incorrecta cerca de 'FUNCTION'.
Debe declarar la variable '@IdFact'.
La instrucción RETURN con un estado de retorno sólo puede usarse en un
procedimiento almacenado." String
¿Alguien sabe a qué es debido? La función está bien escrita, pues funciona
en la realidad así como está en una base de datos.
Leer las respuestas