Hey Don Pata,

Como vas?

Yo me referia a la sentencia SQL que dice INSERT INTO tableName (col1, col2) SELECT col1, col2 FROM otherTableName...

Esta instruccion NO inserta 1 registro, sino que mete todo el resultado del SELECT y se lo manda al INSERT INTO. Todo se ejecuta del lado del DBMS. Obviamente, el resultado del SELECT, digo la lista de columnas, DEBE coincidir en posicion y tipo con las columnas del INSERT INTO.

Un placer verte por estos pagos... bue... leerte en La Lista...
Salute,
Davo.

On 10/19/06, Pata del Santo < [EMAIL PROTECTED]> wrote:
Hola Davo
Efectivamente se puede hacer
    INSERT INTO Tabla (codigo,nombre,edad) VALUES (m.miCod,m.miNom,m.miEdad)
 
Si las variables de memoria tienen el mismo nombre, se puede hacer
   INSERT INTO Tabla FROM MEMVAR
 
En vez de hacer el APPEND FROM, tal vez sería más conveniente
SELECT 0
Use miTabla
SELECT 0
Use Temporal
SCAN
   SCATTER MEMVAR MEMO
   INSERT INTO miTabla FROM MEMVAR
ENDSCAN
 
De todas maneras, el APPEND FROM también debería funcionar.
Estás seguro que no se agregan los registros?
No será que hacés el APPEND sin abrir los índices (en cuyo caso los índices no se actualizan)
Y luego cuando revisás la tabla la mirás con los índices abiertos? (en cuyo caso no se muestran los registros porque en el índice no existen)
 
O será que el cursor no tiene nada en disco?  (asegurate de ponerle READWRITE cuando creás el cursor, así lo "baja" al disco)
 
Pata.
 

De: [email protected] [mailto: [email protected]] En nombre de David Brunstein
Enviado el: jueves, 19 de octubre de 2006 16:12
Para: GUFA List Member
Asunto: [GUFA] Falla Append From en multiusuario

Hola Nando,

Viendo el tema, me gusto este ejemplo:
http://fox.wikis.com/wc.dll?Wiki~AppendFast~VFP

Che, pregunto, Fox no se banca el SQL
    INSERT INTO <table> (col1, col2, col3)
      SELECT col1, col2, col3 FROM <ottherTable>
(no se si la sintaxis es exactamente asi)

Es exactamente un append from pero con sentencias SQL.

Saludos,
Davo.

On 10/19/06, Nando <[EMAIL PROTECTED]> wrote:
Mas alla del tema del Try...Catch mi principal problema es que no hace el append from,,,, hay alguna razon especial por la que no se permite hacer append si la tabla esta siendo usada por otra terminal??, mi idea era hacer el pack "cuando se pudiera" pero si o si necesito hacer el delete y el append from, si no se puede hacer en multiusuario ahi si largo cartel que informe la situacion y aborto el proceso.
Pero la duda es si se puede o no hacer el append que quiero..
 
Saludetes
Nando


De: [email protected] [mailto: [email protected]] En nombre de Martin Salias
Enviado el: Viernes, 13 de Octubre de 2006 17:52
Para: GUFA List Member
Asunto: [GUFA] Falla Append From en multiusuario

Así es. Lo ideal es que el Try abarque (intente) lo menos posible, de manera que sepas claramente cuál es el problema y qué hacer en consecuencia.
 
Salú,
  MS

 
On 10/13/06, David Brunstein <[EMAIL PROTECTED]> wrote:
Entiendo perfectamente lo que decis, pero no es conveniente poner el codigo dentro del bloque Try?
Vos lo decis porque hay un solo bloque Catch que atrapa una excepcion global?

En el caso del codigo que le propusiste a Pablo, no esta atrapando excepciones que pueden darse en cuando se hace el PACK y/o el APPEND BLANK.

No es asi?
Saludos,
Davo.


On 10/13/06, Martin Salias <[EMAIL PROTECTED] > wrote:
Hola, Davo.

Se puede, pero el problema es que perdés granularidad en la excepción que estás arrojando, pero con el mensaje que yo había puesto, no habría problema, porque le estoy diciendo que no se pudieron importar los datos. Fijate que hago el throw de una excepción mía con ese detalle, y en el UserValue incluyo la original, o sea que el consumidor de este código puede meterse para adentro y ver porqué no se pudo hacer la importación, si hiciese falta. Usualmente no se chequean estas cosas en un Try/Catch más eterno, pero si es útil si querés poner un manejador o log global de las excepciones, porque tenés todo el stack de excepciones disponibles, y podés armar todo el detalle.
 
Saludos,
   MS
 
On 10/13/06, David Brunstein < [EMAIL PROTECTED]> wrote:
Hola Pablo, Martin,

Se "deberia" hacer algo asi?

Try

 Use Tabla_destino IN 0 EXCLUSIVE
  Select Tabla_destino
  PACK
  APPEND FROM DBF(" Cursor_Origen ")
 
Catch to oEx
   local oTuExcepcion as Exception
   oTuExcepcion = NewObject( "Exception" )
   oTuExcepcion.ErrorNo = 9999
   oTuExcepcion.Message = "No se pudo acceder a la tabla para importar datos"
   oTuExcepcion.UserValue = oEx
   Throw oTuExcepcion
Finally
   Use in Tabla_destino
Endtry
 
return

Bah... no se... pregunto, vio?  :-)

Saludos,
Davo.



--
=======================
David Brunstein

Java/PB/VFP Developer
Winnipeg, MB
Canada

Before I speak, I have something important to say.
Antes de dar mi discurso, tengo algo importante que decir.
Antes de dar meu discurso, tenho algo importante para dizer.
G.M.



--
Martín Salías
www.Salias.com.ar
Agile Alliance Member - Microsoft MVP



--
=======================
David Brunstein

Java/PB/VFP Developer
Winnipeg, MB
Canada

Before I speak, I have something important to say.
Antes de dar mi discurso, tengo algo importante que decir.
Antes de dar meu discurso, tenho algo importante para dizer.
G.M.



--
=======================
David Brunstein

Java/PB/VFP Developer
Winnipeg, MB
Canada

Before I speak, I have something important to say.
Antes de dar mi discurso, tengo algo importante que decir.
Antes de dar meu discurso, tenho algo importante para dizer.
G.M.

Responder a