[ mish_ns @ 01.04.2014. 10:53 ] @
Pozdrav,

Imam potrebu da proceduri prosledim niz podataka...
Međutim čitao sam da to u mySQL-u nije moguće.

Ja bih želeo da iz VB.NET tabele (dataGridView-a),
koja izgleda recimo ovako:
sifra imePrezime ocena
501 Marko Marković 7
097 Milan Milanović 9
335 Pera Perić 6

Prosledim ove podatke i uradim UPDATE već postojećih podataka.

Da li ima neko savet kako to da uradim?

HVALA

[ bogdan.kecman @ 01.04.2014. 10:56 ] @
izgenerises update komandu u tvom vb-u i posaljes je na mysql, zasto bi to radio kroz stored proceduru ?!
[ dusans @ 01.04.2014. 11:04 ] @
Red po red, eventualno u transakciji?
[ bogdan.kecman @ 01.04.2014. 11:07 ] @
nema potrebe red po red, moze 10 po 10 redova ili 100 po 100 redova
zavisi koliko su veliki ... a za transakciju, ako mu treba onda svakako
[ mish_ns @ 01.04.2014. 11:38 ] @
OK...
da radim posebno update za svaku stavku u okviru transakcije
ili jedan (multiple) update za sve?

Code:

UPDATE tabela SET kol1 = CASE id
                          WHEN 1 THEN 'A'
                          WHEN 2 THEN 'M'
                          ELSE kol1
                        END,
                 kol2 = CASE id
                          WHEN 1 THEN 100
                          WHEN 2 THEN 200
                          ELSE kol2
                        END
             WHERE id IN (1, 2);

[ bogdan.kecman @ 01.04.2014. 11:44 ] @
nemoj ovako molim te
[ mish_ns @ 01.04.2014. 11:45 ] @
Znači jedan po jedan update u okviru transakcije?
[ bogdan.kecman @ 01.04.2014. 11:59 ] @
nemoj da koristis CASE, dakle to je bitno :D

e sad, sta ces tacno da radis zavisi od toga sta je cilj .. ako ces da
radis UPDATE xxx onda definitivno jedan po jedan pa ih turis u
transakciju, ako tu mozda u gridu ima i nove date (a najcesce ima) onda
tu obicno ide nesto tipa

insert into tabela (id, kol1,kol2) values
(1,10,'aa'),(2,20,'bb'),(3,300,'cc'),(4,10,'dd')
on duplicate key update kol1=VALUES(kol1), kol2=VALUES(kol2);

Code:

mysql>  create table tabela (id int primary key not null, kol1 int, kol2 char(2)) engine=myisam;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into tabela (id, kol1,kol2) values (1,10,'xx'),(2,20,'xx'),(3,300,'xx');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> insert into tabela (id, kol1,kol2) values (1,10,'aa'),(2,20,'bb'),(3,300,'cc'),(4,10,'dd')
    -> on duplicate key update kol1=VALUES(kol1), kol2=VALUES(kol2);
Query OK, 7 rows affected (0.00 sec)
Records: 4  Duplicates: 3  Warnings: 0

mysql> select * from tabela;
+----+------+------+
| id | kol1 | kol2 |
+----+------+------+
|  1 |   10 | aa   |
|  2 |   20 | bb   |
|  3 |  300 | cc   |
|  4 |   10 | dd   |
+----+------+------+
4 rows in set (0.00 sec)

mysql>

[ mish_ns @ 01.04.2014. 12:02 ] @
Sve jasno...
HVALA