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 28-12-2005
Jvilomar Jvilomar is offline
Miembro
 
Registrado: mar 2004
Ubicación: Republica Dominicana
Posts: 97
Poder: 21
Jvilomar Va por buen camino
Problema de Sintaxis????

Hola... y feliz navidad a todos....

Bueno... estoy teniendo un pequeño problea que estoy seguro que anteriormente podia solucionarlo sin ningun inconveniente.. o bueno eso creo.

Veran utilizo SQL server 2000 y lo que quiero es actualizar unos valores de una tabla. por ejemplo

Código SQL [-]
  
      update tPrueba
      set uno=5,
        dos = (uno * 18.00) /100,
        tres= uno + dos
      where idControl =1

el asunto es que deberia de darme un resultado mas o menos parecido a este

Uno = 5
Dos = 0.9
tres = 5.9

pero para mi sorpresa en la tabla solo aparece el valor del campo Uno y los otros dos valores en cero, eso en caso de que sea la primera vez que actualizo la fila. ahora si repito el query nuevamente entonces me da unos valores que no se parecen en nada a los que deseo. alguien puede decirme que estoy haciendo mal???

Gracias Anticipadas...
__________________
El conocimiento es un Patrimonio Universal....
Responder Con Cita
  #2  
Antiguo 28-12-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Jvilomar
pero para mi sorpresa en la tabla solo aparece el valor del campo Uno y los otros dos valores en cero, eso en caso de que sea la primera vez que actualizo la fila. ahora si repito el query nuevamente entonces me da unos valores que no se parecen en nada a los que deseo. alguien puede decirme que estoy haciendo mal???
Solo leyendo tu comentario, es evidente que esta tomando el valor del campo antes de ser modificado, y esto es asi. Cuando te refieres a el valor de un campo en un update, este será el valor que tenía antes de que se ejecute el update.
Una posible solución a tu problema "a la Sql Server", podría ser:
Código SQL [-]
declare  
  @tmpUno Int /* O el tipo de datos de la columna Uno */,
  @tmpDos Int /* O el tipo de datos de la columna Dos */
begin
  update tPrueba
     set @tmpUno = uno =5,
         @tmpDos = dos = (@tmpUno * 18.00) /100,
         tres= @tmpUno + @tmpDos
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 28-12-2005
Jvilomar Jvilomar is offline
Miembro
 
Registrado: mar 2004
Ubicación: Republica Dominicana
Posts: 97
Poder: 21
Jvilomar Va por buen camino
Gracias por responder mi hermano.. se que hay muchas cosas que aprender todabia... y te aseguro que ustedes nos ayudan mucho sobre todo a ingeniarnolas con los problemas


Gracias nueva mente.....
__________________
El conocimiento es un Patrimonio Universal....
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


La franja horaria es GMT +2. Ahora son las 16:34:11.


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