![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como realizar actualizacion con exists en firebird
b. dias, estoy realizando una actualizacion con fb 2.5 pero no me deja, me manda error:
Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, column 1. if. este es el codigo: Código PHP:
gracias. |
#2
|
||||
|
||||
Es que "if exist" no es ninguna sentencia sql, toda sentencia iniciará con un select, update, delete o insert.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
El ejemplo que pones no necesita condicionantes.
Si haces un update a un registro cuyos campos REG_=1 y CLIENTE='012345' y no existe ningún registro con esas condiciones, Firebird no modificará ningún registro. Yo solo haría el update y dejaría que Firebird modifique un registro o ninguno. De todos modos, hay casos en los que se puede utilizar:
|
#4
|
|||
|
|||
ok, y que pasa si se trata de realizar una insercion tambien ya que revisando el diseño se necesita realizar una insercion en otra tabla, entonces el exists no es tan valido como los otros SGDB sqlserver x ejemplo, es que es mas manejable.
les agradesco. |
#5
|
||||
|
||||
¿Y eso? ¿cómo lo haces en otros sistemas?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
b. dias a todos, para M$sqlserver casualmente me encuento en inserciones o actualizaciones constantes para ciertas tablas que deben de llenarse de registros para completar ciertos procesos, es decir, les detallo:
tengo una tabla para referenciar los documentos que les daran salida en almacen por ejemplo: salidasAPT campos (sufijo,fecha,docto,tipodoc,fechasalida, statusSalida) donde el campo tipodoc = F --> factura, R = remision, etc. statussalida = N (Nuevo) o P (Porcesado) entonces los documentos se van formando y como se pasen al area de almacen se daran de baja. La cuestion es que por medio de una aplicacion se hacen estas actualizaciones primero (Insercion o actualizacion) pero si ya esta agregado ya no es necesario volver a agregar pues nos mandaria un error de pk duplicada y por logica pues tendriamos registros duplicados, para este rollo que les comento pues no me quedo mas que hacer lo siguiente: if exists (select docto from salidasAPTwhere sufijo='02' and docto='REF000012' and tipodoc='R') begin update salidasapt set statussalida ='N' where sufijo='02' and docto='REF000012' and tipodoc='R' end else begin insert into salidasapt values('02','20140514','REF000012','R',null,'N') end posteriormente una vez que ya esta el registro almacen lo puede ver los documentos que se le va a dar salida, si existe esta posibilidad de usar el exists en mssql como se puede aplicar con firebrid, es asi como lo hago, pero ahora debo de ocupar algo similar ya que se puede implementar en trigger, o mandar desde una aplicacion el caso seria lo mismo pero con un script es mas facil manejar, por programa tengo que hacer consulta y extraer el resultado para pasar al siguiente, etc. les agradesco si saben como seria, pues no encuentro algo parecido. gracias |
#7
|
||||
|
||||
¿Pero eso es una sentencia o un procedimiento almacenado?
Y recuerda poner los tags al código fuente, ejemplo: ![]() Gracias ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Optimización consulta SQL con EXISTS en Firebird 2.5 | briast | SQL | 0 | 05-11-2013 11:57:20 |
Realizar busqueda en firebird | miguelgalindo87 | Firebird e Interbase | 9 | 01-06-2012 23:17:45 |
Sugerencias para realizar una actualizacion de un registro en Firebird | agustinbus | Firebird e Interbase | 18 | 14-03-2012 23:39:00 |
Exists or not Exists that is the question | MaMu | SQL | 7 | 05-04-2009 18:29:55 |
Realizar una inserccion en una tabla con firebird | madmai | Firebird e Interbase | 2 | 06-10-2005 14:46:03 |
![]() |
|