RE:Procedimiento almacenado para vb.net
Publicado por
liliana (1 intervención) el 06/11/2008 19:08:36
6.Generar un store procedure llamado ap_abm_rubros con los siguientes parametros:
@cod_accion char(1)
@cod_rub (mismo tipo de datos que el atributo cod_rub de la tabla rubros)
@desc_rub (mismo tipo de datos que el atributo desc_rub de la tabla rubros)
@cod_error bit
El ultimo parametro debe ser de salida (retornara 0 si no hubo error, 1 en caso contrario).
El procedimiento debe realizar lo siguiente:
a) Si el parametro @cod_accion es ‘A’ (alta):
Insertar en la tabla rubros una fila con los valores de los parametros @cod_rub y
@desc_rub.
Si hubo error en la inserccion (por ejemplo por violacion de clave primaria o atributo
descripcion nulo), asignar el valor 1 al parametro @cod_error.
En caso contrario, asignar el valor 0 al parametro @cod_error.
b) Si el parametro @cod_accion es ‘B’ (baja):
Verificar primero si existe una fila en la tabla rubros con el atributo cod_rub igual al valor del
parametro @cod_rub.
Si no existe, asignar el valor 1 al parametro @cod_error.
En caso contrario, eliminar la fila de la tabla rubros con el atributo cod_rub igual al valor del
parametro @cod_rub.
Si como resultado de la eliminacion se produjo un error (por ejemplo por integridad
referencial), asignar el valor 1 al parametro @cod_error.
En caso contrario, asignar el valor 0 al parametro @cod_error.
c) Si el parametro @cod_accion es ‘M’ (modificacion):
Verificar primero si existe una fila en la tabla rubros con el atributo cod_rub igual al valor del
parametro @cod_rub.
Si no existe, asignar el valor 1 al parametro @cod_error.
En caso contrario, modificar la descripcion del rubro (atributo rub_desc) con el valor del
parametro @desc_rub.
Si como resultado de la modificacion se produjo un error (por ejemplo por asignacion del
valor null a dicho atributo), asignar el valor 1 al parametro @cod_error.
En caso contrario, asignar el valor 0 al parametro @cod_error.
d) Probar los distintos casos y verificar el contenido devuelto en el parametro @cod_error. Por
ejemplo:
Declare @error bit
Exec sp_abm_rub ‘M’, 1, null, @error output
Print @error
Debe devolver 1 pues se intenta modificar una fila asignando null en el campo descripcion
(viola restriccion de campo no nulo).*/