SoloCodigo

Bases de Datos => SQL Server => Mensaje iniciado por: insomnio en Jueves 25 de Agosto de 2005, 16:47

Título: Funcion Como Formula De Un Campo
Publicado por: insomnio en Jueves 25 de Agosto de 2005, 16:47
Buenas,

Utilizo el Microsoft SQL Server, pues bien, he ido al apartado de hacer funciones(ahora no me acuerdo como se llama) y he creado una con el objetivo de que modifique el campo de otra tabla, me explico, en una tabla X tengo un campo que se llama numero(es un int), pues bien este depende de una tabla Y , es decir, cada vez que se cree un nuevo registro en esa tabla Y el campo numero de la tabla X deberá incrementarse o si se elimina un registro deberá decrementarse.(por lo que la consulta la he hecho con un simple SELECT COUNT)

Pues bien, la consulta se llama control_val, y aparece en el apartado de funciones del sql como dbo.control_val(ya que el dbo es usuario general) y el examinador dice que esta correcta.

Entonces me voy a la tabla X(donde tengo el campo numero) y me voy a la opcion "formula" y alli pongo:
=control_val(Id), este Id es el campo primario de la tabla y es el que recibe la consulta, pero me da error, y tb lo he probado como:

=control_val(NombreTabla.NombreCampo), y tampoco alguna idea?¿

GRACIAS
Título: Re: Funcion Como Formula De Un Campo
Publicado por: insomnio en Viernes 26 de Agosto de 2005, 08:13
Buenas de nuevo,

La funcion en concreto tiene la estructura:

CREATE FUNCTION dbo.[encontrar_valv] (@ic int)  
RETURNS int AS  
BEGIN
RETURN (SELECT COUNT (IdNodo) FROM Nodos WHERE IdEC= @ic)
END
Título: Re: Funcion Como Formula De Un Campo
Publicado por: mateamargo en Martes 20 de Septiembre de 2005, 22:07
Tenés que escribir el nombre del owner adelante de la función, en este caso DBO.
Por lo que quedaría:

dbo.control_val(id)

Nunca usé funciones definidas por mi dentro de un campo, solamente para hacer stored procedures y vistas, probá con eso que te dije a ver si se puede.

Saludos.