PDA

Ver la Versión Completa : Consulta SQL


RebeccaGL
24-10-2011, 06:26:35
Buenas

Como podria poner un valor en un campo de registro, pero a 10,000 registros con una sola consulta SQL. Ej Tengo 10,000 nombres pero al campo IE deseo ponerle el valor 'ok' no deseo recorrer la tabla uno a uno sino poner el valor de un solo golpe se puede??.



saludos

marcoszorrilla
24-10-2011, 07:37:51
Update MiTabla Set IE ='OK'

Un Saludo

RebeccaGL
24-10-2011, 20:32:11
Código SQL [-] (http://www.clubdelphi.com/foros/#)Update MiTabla Set IE ='OK'



Un Saludo

Gracias me funciono, si no es molestia podria preguntarte otra cosa.
Por ejemplo aparte de los 10,000 registros tambien tengo que recalcularlos osea si el primer registro tiene una "E" el total se lo suma al siguiente registro y si el siguiente tiene una "S" el total se lo resta al siguiente, eso tambien se puede hacer con una consulta SQL?.


record Tipo entrada precio
1 E 100 100
2 E 50 150
3 S 20 120
4 S 10 110
5 S 10 100
6 E 50 150




Saludos

maeyanes
25-10-2011, 16:07:04
Hola...

Para tu segundo caso, el de recalcular sumas es necesario que hagas un procedimiento almacenado o un proceso en tu aplicación que realize estos cálculos, por que si es necesario que recorras todos los registros, uno por uno...



Saludos...

oscarac
25-10-2011, 16:15:16
eso mismo te iba a proponer
crear un procedimiento almacenado, donde incluso puedas considerar un saldo anterior (Incluso los kardex anuales requieren de saldo anterior)

yo tengo us SP que hace exactamente eso.. dejame buscarlo y te lo posteo

ethangio
19-11-2011, 05:41:09
Buenas noches o dias a todos.
Espero que mi pregunta no este fuera de hilo ... lo que pasa es que mi consulta de 10000 registros es muy lenta hago la consulta y se tarda 10 segundos en mostrar la informacion en 3 listbox.


ZQuery1.Close;
ZQuery1.SQL.Clear;
ZQuery1.SQL.Add('SELECT * FROM productos ORDER BY nombre ASC');
ZQuery1.Open;
ZQuery1.First;
while not ZQuery1.Eof do
begin
ListBox1.Items.Add(ZQuery1.FieldByName('id').AsString);
ListBox2.Items.Add(ZQuery1.FieldByName('nombre').AsString);
ListBox3.Items.Add(FloatToStrF(ZQuery1.FieldByName('precio').AsFloat, ffNumber, 4, 2));
ZQuery1.Next;
end;

Que puedo hacer para que sea mas rapida mi consulta ?

Casimiro Notevi
19-11-2011, 09:56:50
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración.

ethangio
19-11-2011, 16:50:15
Disculpa Casimiro Notevi ..

Acabo de leer la guia de estilos ... debo poner en otro hilo verdd .. o si me pudieras decir que debo hacer para no volver a equivocarme .... Gracias

Casimiro Notevi
19-11-2011, 16:56:36
Pues lo que has leido, cada pregunta de tema distinto debe ir en un hilo distinto, no podemos estar mezclando todo, ¿quién encontraría algo después si todo estuviese mezclado?.
Y eso, poner un título descriptivo, explicar claramente todo, usar las "tags" para cuando pongas código fuente, etc. lo que pone en la guía de estilo :)

http://neftali.clubdelphi.com/images/UtilizarTAGs.png

.
Y si tienes cualquier duda, no hay problema, preguntas y lo solucionamos.
Si no sabes exactamente en qué foro debe ir tu pregunta, pues lo pones en varios y ya lo cambiaremos al que corresponda.
En fin, que expliques todo lo más ampliamente posible para que podamos ayudar.

marcoszorrilla
20-11-2011, 11:53:07
Solo añadir que Varios es el nombre de un Subforo del ClubDelphi. Casimiro no te quiere decir que lo pongas en varios foros sino en el de Varios.

Un Saludo.