![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
22/02/2012, 12:13
|
| | Fecha de Ingreso: febrero-2012
Mensajes: 15
Antigüedad: 13 años Puntos: 0 | |
Respuesta: Unos ejercicios... 2)Para hacer la inserción de datos en la tabla clientes realizar un procedimiento llamado “AddCustomers”
create procedure addCustomers (@nombre varchar (20), .......) <--todos los datos
as
declare @nombre varchar (20), ....... <--todos los datos
insert into bank.clientes (@nombre, @ .......) <--todos los datos
------------------------------------------------------
3) a)Crear una tabla llamada ' temporal' que contiene los siguientes campos:
- cliente varchar (70), saldo type_saldo, puntos smallint, concepto varchar (40), precio integer, precioFinal integer.
exec sp_addtype type_saldo,'money','null';
create temporal
(
todos los datos
) b. Crear una tabla llamada premios con los siguientes campos:
- idpremio int identity (1,1) primary key, concepto varchar (40), precio integer.
Los datos que contiene la tabla premios son los siguientes:
- Tostadora precio 55€, batidora precio 75€, tablet 110€, tv lcd 23.240€
create table premios
(
todos los datos
)
inser into "datos1" values...
inser into "datos2" values...
inser into "datos3" values...
inser into "datos4" values...
--------------------------------------------------------------------------- 4º Crea una función llamada bank.Calcupuntos tal que por cada 1€ tengo 0,25 puntos. Por ejemplo, una persona con 1000€ en su saldo tendrá 250 puntos.
create function Calcupuntos (@saldo money)
return smallint
as
begin
declare @puntos smallint, @saldo money
set @puntos=@saldo*0.25
return @puntos
end
---------------------------------------------- 5) Una vez que sabemos los puntos calcularemos en cuanto se queda el premio según sus puntos. Para ello calcularemo con una función llamada 'CalcuFinalPrice' con las siguientes condiciones:
de 100 pts hasta 125 = 10% dcto
de 125 ptos hasta 150 = 15% dcto
de 150 ptos hasta 200 = 20% dcto
de 200 ptos hasta 500 = 25% dcto
de 500 ptos hasta 1000 = 40% dcto
de 1000 ptos hasta 1500 = 50% dcto Este no tengo mucha idea, he encontrado por ahi algo pero no es lo que quiere el ejercicio, a ver si me podeis ayudar...
create function bank.CalcufinalPrice (@puntos smallint, @precio money)
returns integer
as
begin
declare @puntos smallint, @precio money, @final integer
case @puntos
when '> 100 and < 125' then set @final=@precio*0.10
when '> 125 and < 150' then @final=@precio*0.15
when '> 150 and < 200' then @final=@precio*0.20
when '> 200 and < 500' then @final=@precio*0.25
when '> 500 and < 1000' then @final=@precio*0.40
when '> 1000 and < 1500' then @final=@precio*0.50
set @final=@precio-@final
end
return @final
end |