¿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

#1 Carlos Sacristán
21/03/2006 - 09:46 | Informe spam
¿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:
Mostrar la cita
query;
Mostrar la cita
no
Mostrar la cita
he
Mostrar la cita
funciona
Mostrar la cita
#2 XTV
21/03/2006 - 09:54 | Informe spam
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:%
Mostrar la cita
#3 Carlos Sacristán
21/03/2006 - 09:58 | Informe spam
¿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:
Mostrar la cita
y
Mostrar la cita
Además
Mostrar la cita
#4 XTV
21/03/2006 - 10:19 | Informe spam
CREATE FUNCTION dbo.fnSystemUser()
RETURNS nvarchar(50)
AS
BEGIN
RETURN
SUBSTRING(SYSTEM_USER,CHARINDEX(N'\',SYSTEM_USER)+1,LEN(SYSTEM_USER)-(CHARINDEX(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:%
Mostrar la cita
#5 Carlos Sacristán
21/03/2006 - 11:06 | Informe spam
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:
Mostrar la cita
SUBSTRING(SYSTEM_USER,CHARINDEX(N'\',SYSTEM_USER)+1,LEN(SYSTEM_USER)-(CHARIN
DEX(N'\',SYSTEM_USER)))
Mostrar la cita
y
Mostrar la cita
los
Mostrar la cita
mensaje
Mostrar la cita
una
Mostrar la cita
Ads by Google
Search Busqueda sugerida