set ansi nulls dentro de una funcion

30/08/2004 - 04:49 por Rolando CC | Informe spam
Hola, estoy haciendo una consulta a una base Oracle,
desde una funcion en mssql 2000,

algo como esto

CREATE FUNCTION fntest (@id as int)
RETURNS varchar AS
BEGIN

declare @res as varchar(50)

begin

select @res=nombre from
linked_server..dueno.table.usuariosc where id=@id

return isnull(@res,'NOT FOUND');
end
END

y me da un error en donde me dice que debo activar los
ansi nulls algo como esto creo:
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
pero si trato de meterlo dentro de la funcion me marca el
error
443, invalido uso de set ansi ... dentro de una funcion,
como hago para declararlo dentro de la funcion ó
para que no me sea necesario ?

gracias...
 

Leer las respuestas

#1 Javier Loria
30/08/2004 - 13:40 | Informe spam
Hola Rolando:
Para consultas distribuidas es necesario fijar los valores como senala
el SQL, esto se hace:
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE FUNCTION fnTest(
...
GO
= Revisa en la documentacion en linea, sobre el impacto que tiene en
manejo de Nulos y manejo de errores.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Rolando CC" wrote in message
news:263001c48e3b$f89ba0e0$
Hola, estoy haciendo una consulta a una base Oracle,
desde una funcion en mssql 2000,

algo como esto

CREATE FUNCTION fntest (@id as int)
RETURNS varchar AS
BEGIN

declare @res as varchar(50)

begin

select @res=nombre from
linked_server..dueno.table.usuariosc where id=@id

return isnull(@res,'NOT FOUND');
end
END

y me da un error en donde me dice que debo activar los
ansi nulls algo como esto creo:
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
pero si trato de meterlo dentro de la funcion me marca el
error
443, invalido uso de set ansi ... dentro de una funcion,
como hago para declararlo dentro de la funcion ó
para que no me sea necesario ?

gracias...

Preguntas similares