Está en la página 1de 3

create procedure adminautos

@opcion as int,
@id int,
@modelo nvarchar(50),
@marca nvarchar (50)
as
begin

if @opcion =4
begin
print '1 inserta, 2 actualiza,3 elimina'
end

if @opcion = 1
begin
/***/
if exists(select * from autos where idvehiculo = @id)
begin
raiserror('ya existe el id para el automovil',10,1)
return
end
else
/*******/
begin transaction
insert into autos
values (@id,@modelo,@marca)
if @@error <>0
begin
rollback transaction

return
end
begin
commit transaction
print 'Registro insertado con el id '+ convert (nvarchar(50),@id) + ' modelo :' +
@modelo +' marca :' + @marca
select * from autos
end
end


if @opcion=2
begin
if not exists(select * from autos where idvehiculo = @id)
begin
raiserror('No existe el articulo a Actualizar',10,1)
return
end
else
begin transaction
update autos
set modelo=@modelo,
marca=@marca
where idvehiculo= @id
if @@error<>0
begin
rollback tran
return
end
commit transaction
end

if @opcion = 3
begin
if not exists(select * from autos where idvehiculo = @id)
begin
raiserror('No existe el articulo a Eliminar',10,1)
return
end
else
begin transaction
delete from autos
where idvehiculo = @id
if @@error<> 0
begin
rollback tran
return
end
commit transaction
end
end


/**********TRIGGERS****************/
create trigger insertarenautos
On autos after insert
as
insert into mensaje
values('se inserto un articuo','usuario1',getdate())


alter trigger intentodeinsertarautos
On autos instead of insert
as
DECLARE @sys_usr char(30);
SET @sys_usr = SYSTEM_USER;
/*SELECT 'EL usuario: '+ @sys_usr;*/
insert into mensaje
values('el usuario intenta', @sys_usr,getdate())



select * from autos
select * from mensaje

insert into autos
values(109,'s10','chevrolet')

También podría gustarte