SQL Server - Pregunta muy facil

 
Vista:

Pregunta muy facil

Publicado por David (2 intervenciones) el 28/12/2003 19:42:44
Tengo una tabla en la que quiero poner dos campos: uno que sea el precio (llamada PRECIO) y otra que se calcule a partir de la primera y que sea el precio+IVA (llamada PVP, y la formula sería PVP=PRECIO*0.16 + PRECIO). Mi pregunta es cómo indico en el diseño de la tabla que la columna PVP es igual a PRECIO*.016+PRECIO. Y mi segunda pregunta es si estos campos deberían ser de tipo MONEY o mejor hacerlos NUMERIC y así evitar futuros problemas.
Como vereis no soy ningún experto en SQL Server ni tampoco en SQL, por lo que estoy haciendo el disseño de la BD en el administrador corporativo. Os agradecería me dijerais cómo hacerlo desde ahí.
Muchísimas gracias, espero alguna respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pregunta muy facil

Publicado por QUARK (5 intervenciones) el 29/12/2003 16:33:10
TE CREAS UN TRIGGER FOR INSERT UPDATE DELETE
EJEMPLO PARA PASAR LOS EUROS DE UN CAMPO A PTAS

CREATE TRIGGER [EU_PTAS] ON dbo.PLAN_PRESUPUESTARIO_COCIM
FOR insert, UPDATE, DELETE
AS

if not update(PRESUP_COCIM_EU)
return
update plan_presupuestario_cocim
set PRESUP_COCIM = presup_cocim_EU * 166.386
where cta_pres in (select cta_pres from inserted)
and pr_ejercicio in (select pr_ejercicio from inserted)
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta muy facil

Publicado por david (2 intervenciones) el 29/12/2003 17:23:38
Gracias Quark por la respuesta. Pero, ¿no se puede hacer de alguna manera más fácil, igual que se hace en Excel, que le puedes decir que una determinada celda es igual a otra multiplicada por el valor que quieras o algo así?
Y sobre el tema del tipo de campo, qué es mejor que elija MONEY o NUMERIC?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta muy facil

Publicado por Carlos Gil (18 intervenciones) el 02/01/2004 17:56:27
Una de las reglas de la Normalizacion de bases de datos nos indica que no se deben almacenar campos calculables en la BD. Pero si a fuerza necesitas este campo debes hacer uso de la recomendacion anterior (Trigger) con respecto al tipo de dato te recomendaria Numeric ya que es mucho mas manejable a nivel de programacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta muy facil

Publicado por javi (31 intervenciones) el 25/04/2004 01:49:41
hola david,

para lo que deseas cuando hagas una consulta en tu tabla (id int(pk),concepto varchar(50),precio money)

select id,concepto,precio,precio*1.16 as PVP from tutabla

esta consulta puedes crearla como una vista con la funcion CREATE VIEW tuvista as (la select anterior)

y por ejemplo

SELECT * from tuvista (id,concepto,precio,pvp)
el money no debes tener problemas, yo lo he usado, utilizando un numerico debes utilizar 2 dígitos decimales.

Pero para el caso de la consulta es lo mismo.

ciao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar