FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Insert con SP - avanzado
Hola gente. Tengo un diseño de mi base de datos como muestro en la imagen.
Una persona puede ser Cliente, Proveedor, Funcioanario u otros tipos varios. Vamos por el funcionario. Este puede ser o no un comisionista. Cuando llega al nivel de comisionista puede ser creativo (diseñador) o no. Ahora, quiero hacer un Store procedure que inserte a estas personas. Que me conviene mas. Hacer un SP por tipo de persona (cliente, funcionario, proveedor) o hacer un SP por tablas por ejemplo. SP_ALTA_PERSONA : dara de alta la persona y si el tipo indica que es funcionario llamaria a SP_ALTA_FUNCIONARIO y si es comisionista SP_ALTA_COMISIONISTAS y asi sucesivamente. Como podria yo hacer un rollback o algo que deshaga lo ingresado si es que ocurre un error al nivel de comisionista por ejemplo. Es decir ya se habra dado de alta en la tabla persona y en funcionario. |
#2
|
||||
|
||||
Cita:
Cita:
Espero haberme explicado bien. Se que funciona y bien, porque ésta misma estructura yo la utilizo, pero en Delphi, en lugar de con SP (Modelo de persistencia).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Perfecto. Por lo que parece te la sabes todas neftali jeje.
Y hay forma de ejecutar el commit por programacion ?? o si se completa ya graba y listo? Otra cosita cuando trato de llamar a otro sp desde un SP padre me da un error que estaria mal? quizas no sea la forma adecuada de llamar. Da error en el select y con ; al final tambien. SP_PRUEBA1 no tiene parametros de entrada CREATE PROCEDURE SP_PRUEBA2 AS BEGIN SELECT * FROM SP_PRUEBA1 END |
#4
|
|||
|
|||
AH. dice que si no funciona deshago el SP de clase (que me imagino que es un SP normal que llama a los otros).
Como lo deshago tambien. Con un rollback, pero como invoco el rollback? |
#5
|
||||
|
||||
Resp
El select que tienes lo debes hacer son un
ese es el problema. Y lo de deshacer no e snecesario ya que esto acurre solo por que va ligado en una misma transaccion. Lo que quiere decir que todo se ejecuta bien o no se ejecuta nada pero no a medias.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#6
|
|||
|
|||
AAH. PERO Y SI MI SP AL QUE LLAMO NO TIENE PARAMETRO DE SALIDA?
O TIENE QUE TENER SI O SI? Pregunto por el select into. Por el into yo asigno a una variable el retorno del SP al que llamo. |
#7
|
||||
|
||||
Resp
Solo ejecutas la intruccion sql es todo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
|