Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Consulta de Actualizacion

Buenas a todos,

Estoy realizando una consulta de actualizacion asi:

Código SQL [-]
UPDATE tbl_traslados, RESULTADO_S3 SET tbl_traslados.glosado = 'V', tbl_traslados.observacion_glosa = [RESULTADO_S3]![GLOSA]
WHERE (((tbl_traslados.TIPODOC_AC)=[RESULTADO_S3].[TIPO1]) AND ((tbl_traslados.num_doc_ac)=[RESULTADO_S3].[DOCU1]));
Pero presenta errores como puedo aplicarla en una Bd Firebird 2.1 con el manejador EMS Interbase

Última edición por ecfisa fecha: 01-12-2011 a las 00:55:14. Razón: ETIQUETAS [SQL] [/SQL]
Responder Con Cita
  #2  
Antiguo 30-11-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
que errores aparecen?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 30-11-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Gracias por responder.

fmSQLEditor.Query:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 21.
,.

Esto es lo que obtengo, cabe anotar que estoy migrando una BD de Access a Firebird y en access funciona bien
Responder Con Cita
  #4  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola orpare, bienvenido a Club Delphi. Y como es costumbre, te invito a que leas nuestra guía de estilo.

Con respecto a tu consulta, probá de este modo:
Código SQL [-]
UPDATE TBL_TRASLADOS
  SET TBL_TRASLADOS.GLOSADO = 'V',
  TBL_TRASLADOS.OBSERVACION_GLOSA = (SELECT GLOSA FROM RESULTADO_S3
    WHERE TBL_TRASLADOS.TIPODOC_AC = TIPO1
      AND TBL_TRASLADOS.NUM_DOC_AC = DOCU1)
WHERE TBL_TRASLADOS.TIPODOC_AC IN (SELECT TIPO1 FROM RESULTADO_S3)
  AND TBL_TRASLADOS.NUM_DOC_AC IN (SELECT DOCU1 FROM RESULTADO_S3)

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 01-12-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Cordial saludo y gracias por responder pero e da el siguiente error:


fmSQLEditor.Query:
multiple rows in singleton select.
multiple rows in singleton select.
Responder Con Cita
  #6  
Antiguo 01-12-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Varias cosas que hay que tener en cuenta cuando se pasa de access a firebird.
1- Access acepta corchetes [ ] firebird NO.
2- Si la consulta esta hecha en delphi firebird pedira doble comilla en la consulta de texto.
3- El concatenado en firebird se hace con palitos ||
Código Delphi [-]
UPDATE tbl_traslados, RESULTADO_S3 SET tbl_traslados.glosado = ''V'', tbl_traslados.observacion_glosa = RESULTADO_S3 || || GLOSA
WHERE (((tbl_traslados.TIPODOC_AC)= RESULTADO_S3.TIPO1) AND ((tbl_traslados.num_doc_ac)=RESULTADO_S3.DOCU1));
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 01-12-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Cordial saludo,

Al aplicar de ese modo me da el siguiente error:


fmSQLEditor.Query:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 21.
,.
Responder Con Cita
  #8  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por orpare Ver Mensaje
Cordial saludo y gracias por responder pero e da el siguiente error:
fmSQLEditor.Query:
multiple rows in singleton select.
multiple rows in singleton select.
Hola.

En principio te diría que de este modo solucionas el error:
Código SQL [-]
UPDATE TBL_TRASLADOS
  SET TBL_TRASLADOS.GLOSADO = 'V',
  TBL_TRASLADOS.OBSERVACION_GLOSA = (SELECT FIRST 1 GLOSA FROM RESULTADO_S3
    WHERE TBL_TRASLADOS.TIPODOC_AC = TIPO1
      AND TBL_TRASLADOS.NUM_DOC_AC = DOCU1)
WHERE EXISTS(SELECT TIPO1 FROM RESULTADO_S3 WHERE TBL_TRASLADOS.TIPODOC_AC = TIPO1)
  AND EXISTS(SELECT DOCU1 FROM RESULTADO_S3 WHERE TBL_TRASLADOS.NUM_DOC_AC = DOCU1)
Pero no estoy seguro de que obtengas el resultado esperado por que estoy forzando con FIRST 1 a asignar el valor de la primera ocurrencia, ya que al parecer, existen varios registros en RESULTADO_S3 que satisfacen la condición:
Código SQL [-]
  TBL_TRASLADOS.TIPODOC_AC = RESULTADO_S3.TIPO1  AND TBL_TRASLADOS.NUM_DOC_AC = RESULTADO_S3.DOCU1

Mi duda es: ¿ Cual de los valores GLOSA existentes en RESULTADO_S3 debe asignarsele a OBSERVACION_GLOSA ?


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 01-12-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Saludos y Gracias por responder,

El tema es asi tengo un tabla Tbl_Traslados y otra tabla Resultados_s3 la estructura es la misma solo que la tabla Tbl_Traslados aloja los datos para realizar un reporte sin saber si se aprueba o no luego los resultados los recojo en la tabla Resultado_S3 el cual contiene el campo Glosa con el dato de por que no es valido ese registro entonces para corregirlo tengo que actualizar el campo observacion_glosa de la primera tabla y poner en esa misma un campo denominado Glosado a 'V' para realizar el resto

PD. Todo esta funcionando en Access Pero en Firebird esas consultas de actualización me están dando duro
Responder Con Cita
  #10  
Antiguo 01-12-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La mejor manera de comprobar he ir solucionando los problemas del cambio de access a firebird es colocar la consulta en el ibexpert.
Ahi se pueden hacer cambios e ir viendo que resultados da, asi lo hice yo cuando tambien me cambie.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Caral Ver Mensaje
Hola
La mejor manera de comprobar he ir solucionando los problemas del cambio de access a firebird es colocar la consulta en el ibexpert.
Ahi se pueden hacer cambios e ir viendo que resultados da, asi lo hice yo cuando tambien me cambie.
Saludos
Eso es una verdad muy grande .

Pasa con los lenguajes también, siempre es mejor pensar como solucionar el problema desde la nueva plataforma y no como traducirlo.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 01-12-2011
orpare orpare is offline
Registrado
NULL
 
Registrado: nov 2011
Posts: 6
Poder: 0
orpare Va por buen camino
Pues estoy probando el Ibexpert pero como ya sabrán soy nuevo en esto de Firebird de igual forma tengo el EMS Interbase pero no encuentro como crear una consulta de actualización en vista diseño
Responder Con Cita
  #13  
Antiguo 01-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola orpare.

Para este caso no vas a tener diferencias entre el EMS o el IBExpert.

Revisá este enlace: Modificar un registro en Firebird, podés extraer las cadenas SQL y ejecutarlas desde el EMS o IBExpert como para ir probando.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta de actualización newtron SQL 3 06-07-2011 10:20:52
Consulta de actualización newtron SQL 2 15-03-2011 11:18:52
consulta de actualizacion en delphi 7 mario_argentino SQL 3 30-01-2006 17:42:21
Consulta de Actualizacion tgsistemas SQL 2 03-08-2005 12:44:17
consulta y actualización davidgaldo Conexión con bases de datos 1 23-06-2004 12:21:10


La franja horaria es GMT +2. Ahora son las 02:06:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi