¿Cómo ejecutar una función de usuario?

21/03/2006 - 09:35 por XTV | Informe spam
Hola a todos; tengo una pequeña gran duda;

he creado un función muy sencilla pero no sé cómo invocarla en una query;
según los BOL esto es:

SELECT * FROM dbo.fnSystemUser()

Pero me da error: "El nombre del objeto dbo.fnSystemUser no es valido", y no
importa que lo escriba de una u otra forma, me da el mismo error. Además he
probado a poner el contenido de la función dendro de la consulta y funciona
correctamente.

¿Dónde esta el error?

Muchas gracias por su ayuda

Preguntas similare

Leer las respuestas

#6 XTV
21/03/2006 - 11:56 | Informe spam
Correcto, era eso, ahora si que funciona bien

Muchas gracias


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Es que es una función escalar, no de tabla, así que la forma de
llamarla
es

SELECT dbo.fnSystemUser() AS nombreCampo


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"XTV" escribió en el mensaje
news:

CREATE FUNCTION dbo.fnSystemUser()
RETURNS nvarchar(50)
AS
BEGIN
RETURN



SUBSTRING(SYSTEM_USER,CHARINDEX(N'\',SYSTEM_USER)+1,LEN(SYSTEM_USER)-(CHARIN
DEX(N'\',SYSTEM_USER)))
END

Aprovecho para algo más:

Lo estoy probando a ejecutar en vez de en una query atraves de un
trigger,


y
ahi si que funciona. ¡Que raro, no!



"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:%
> ¿Puedes postear el script de esa función?
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "XTV" escribió en el mensaje
> news:
>> Sí, es el dbo. He probado a quitarlo de la SQL, a dar acceso a todos


los
>> usuario, etc pero nada, me da siempre el mismo error
>>
>>
>> "Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el


mensaje
>> news:%
>> > ¿El propietario de esa función es dbo o es otro?
>> >
>> >
>> > Un saludo
>> >
>> > -
>> > "Sólo sé que no sé nada. " (Sócrates)
>> >
>> > "XTV" escribió en el mensaje
>> > news:
>> >> Hola a todos; tengo una pequeña gran duda;
>> >>
>> >> he creado un función muy sencilla pero no sé cómo invocarla en


una
>> > query;
>> >> según los BOL esto es:
>> >>
>> >> SELECT * FROM dbo.fnSystemUser()
>> >>
>> >> Pero me da error: "El nombre del objeto dbo.fnSystemUser no es
>> >> valido",
> y
>> > no
>> >> importa que lo escriba de una u otra forma, me da el mismo error.
> Además
>> > he
>> >> probado a poner el contenido de la función dendro de la consulta y
>> > funciona
>> >> correctamente.
>> >>
>> >> ¿Dónde esta el error?
>> >>
>> >> Muchas gracias por su ayuda
>> >>
>> >>
>> >
>> >
>>
>>
>
>






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