-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprocedure part II.sql
149 lines (69 loc) · 1.79 KB
/
procedure part II.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
use Negocios
go
--usp para Ingresar Categorias
create or alter procedure uspInCat
@p_idcat numeric,
@p_nomcat varchar(50),
@p_descrip varchar(max)
As
Begin
insert into Compras.categorias
values
(@p_idcat,@p_nomcat,@p_descrip)
End
go
-----------------------------------
create or alter procedure uspAcCat
@p_idcat numeric,
@p_nomcat varchar(50),
@p_descrip varchar(max)
as
Begin
update Compras.categorias
set NombreCategoria=@p_nomcat,
Descripcion=@p_descrip
where IdCategoria=@p_idcat
End
go
------------------------------------
--Procedimiento que invoca a los anteriores según opción elegida
Create or alter procedure uspTransaCat
@p_tipotran tinyint,
@p_idcat numeric,
@p_nomcat varchar(50),
@p_descrip varchar(max)
As
Begin
If @p_tipotran=1 ---Transacción de registro
Begin
If not exists(Select * from compras.categorias where IdCategoria=@p_idcat)
execute uspInCat @p_idcat,@p_nomcat, @p_descrip
else
raiserror('Id de categoría ya existe...',10,1)
end
If @p_tipotran=2 ---Transacción de actualización
Begin
If exists(Select * from compras.categorias where IdCategoria=@p_idcat)
Begin
if @p_nomcat is null
set @p_nomcat=(Select NombreCategoria from Compras.categorias
where IdCategoria=@p_idcat)
if @p_descrip is null
set @p_descrip=(Select Descripcion from Compras.categorias
where IdCategoria=@p_idcat)
execute uspAcCat @p_idcat,@p_nomcat, @p_descrip
End
else
RaisError('El id de categoria no existe',10,1)
End
End
go
--------------------------------
select * from Compras.categorias
------Ejecutar------
--Insertar
execute uspTransaCat '1','55','Frutas','Dulces Sanos'
go
--Actualizar
execute usptransaCat '2','55', null,'Sportacus Alimento Sano'
go