Stored procedure geeft resultaten verwijderde 2e procedure

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Mortalboy[NL]
  • Registratie: Oktober 2011
  • Laatst online: 16-07-2021
Ik heb voor een schoolopdracht een factureringssysteem gemaakt, deze was al goed beoordeeld, alleen moest ik nog een stored procedure erin verwerken.

De eerste procedure die ik had gemaakt was het toevoegen van een klant + na toevoegen aantal klanten laten zien.

Vandaag heb ik een extra procedure gemaakt, met dezelfde naam alleen met een _2 erachter. Deze 2e procedure laat ook een tabel zien met alle klanten die in de database zitten als er een nieuwe klant is toegevoegd.

Hier was ik vandaag mee aan het spelen zodat deze goed in PHP wordt weergegeven, maar in het begin ging het nog niet zo goed en heb ik de 2e procedure (met dus _2) achter de naam verwijderd.

Nu het probleem:

Als ik de eerste procedure uitvoer, krijg ik het resultaat van de 2e aangemaakte procedure, terwijl deze verwijderd is...

...

Relevante software en hardware die ik gebruik
- phpmyadmin
...

Wat ik al gevonden of geprobeerd heb
- eerste procedure ook verwijderd en opnieuw toegevoegd, heeft niet geholpen..
- NAS opnieuw opgestart, heeft niet geholpen
- Cache geleegd met flush cache mysql command, heeft niet geholpen.


Iemand??? |:(
...

Beste antwoord (via Mortalboy[NL] op 18-03-2017 17:01)


  • Cartman!
  • Registratie: April 2000
  • Niet online
Mortalboy[NL] schreef op woensdag 15 maart 2017 @ 04:54:
Bij deze is het opgelost, en mag eventueel ook verwijderd worden...
Topics worden hier nooit verwijderd omdat ze anderen evt ook kunnen helpen :)

Rest mij toch te zeggen dat ik je zou aanraden dit verder nooit meer te doen op deze manier. Dit soort werk is veel simpeler te doen in code en dan kan t meteen in versiebeheer worden meegenomen.

Alle reacties


Acties:
  • +1 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Laat eens wat (relevante) code zien, ik mis een beetje wat je precies wil bereiken met je stored procedure. Het klinkt alsof het totaal overbodig (en je zelfs tegenwerkt) dat je hier stored procedures voor gebruikt naar m'n idee.

Acties:
  • +1 Henk 'm!

  • Koenvh
  • Registratie: December 2011
  • Laatst online: 21:15

Koenvh

Hier tekenen: ______

Cartman! schreef op dinsdag 14 maart 2017 @ 22:29:
Laat eens wat (relevante) code zien, ik mis een beetje wat je precies wil bereiken met je stored procedure. Het klinkt alsof het totaal overbodig (en je zelfs tegenwerkt) dat je hier stored procedures voor gebruikt naar m'n idee.
Ik verwacht dat het moet, aangezien het een schoolopdracht is ;)

🠕 This side up


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Koenvh schreef op dinsdag 14 maart 2017 @ 22:32:
[...]

Ik verwacht dat het moet, aangezien het een schoolopdracht is ;)
Dan mag je juist verwachten dat het ook nut heeft het te gebruiken ;)

Acties:
  • 0 Henk 'm!

  • Mortalboy[NL]
  • Registratie: Oktober 2011
  • Laatst online: 16-07-2021
Cartman! schreef op dinsdag 14 maart 2017 @ 22:33:
[...]

Dan mag je juist verwachten dat het ook nut heeft het te gebruiken ;)
Moet van school, om te laten zien dat je snapt hoe stored procedures werken...
Ik laat alleen de mysql zien, ik weet hoe je de data opvraagt in php.

Ook voordat er een opmerking komt over het ID, ja, dit is in de database als auto increment ingesteld, maar moest het laten zien dat de procedure zelf het ID kan bepalen..

Ok tav en email heb ik even leeg gelaten, dit zijn geen verplichte velden.

Eerst de inmiddels verwijderde procedure 2:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DELIMITER $$
CREATE PROCEDURE Klant_toevoegen_2(IN naam VARCHAR(50), IN adres VARCHAR(50), IN pc VARCHAR(7), IN plaats VARCHAR(50), IN land VARCHAR(50), IN tel VARCHAR(15), IN korting FLOAT, OUT klant_aantal_weergave INT(3), OUT t_knr INT(6), OUT t_knaam VARCHAR(50), OUT t_ktav VARCHAR(50), OUT t_kadres VARCHAR(50), OUT t_kpc VARCHAR(7), OUT t_kplaats VARCHAR(50), OUT t_kland VARCHAR(50), OUT t_ktel VARCHAR(15), OUT t_kemail VARCHAR(50), OUT t_kkorting FLOAT)
BEGIN

DECLARE klant_nr INT(6);
DECLARE Klant_aantal INT(3);

SELECT MAX(k_nr) + 1 INTO klant_nr FROM Klanten;

INSERT INTO Klanten (k_nr, k_naam, k_adres, k_pc, k_plaats, k_land, k_tel, k_korting, k_huidig) VALUES(klant_nr, naam, adres, pc, plaats, land, tel, korting, 1);

SELECT COUNT(k_nr) INTO klant_aantal FROM Klanten;
SELECT klant_aantal INTO klant_aantal_weergave;
SELECT * FROM Klanten;

END$$
DELIMITER ;


Result:
Afbeeldingslocatie: http://oi68.tinypic.com/25rp1u0.jpg


Eerste procedure:

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DELIMITER $$
CREATE PROCEDURE Klant_toevoegen(IN `naam` VARCHAR(50), IN `adres` VARCHAR(50), IN `pc` VARCHAR(7), IN `plaats` VARCHAR(50), IN `land` VARCHAR(50), IN `tel` VARCHAR(15), IN `korting` FLOAT, OUT `klant_aantal_weergave` INT(3))
BEGIN

DECLARE klant_nr INT(6);
DECLARE Klant_aantal INT(3);

SELECT MAX(k_nr) + 1 INTO klant_nr FROM Klanten;

INSERT INTO Klanten (k_nr, k_naam, k_adres, k_pc, k_plaats, k_land, k_tel, k_korting, k_huidig) VALUES(klant_nr, naam, adres, pc, plaats, land, tel, korting, 1);

SELECT COUNT(k_nr) INTO klant_aantal FROM Klanten;
SELECT klant_aantal INTO klant_aantal_weergave;
SELECT * FROM Klanten;

END$$
DELIMITER ;


Result, hier wil ik ALLEEN klant aantal ophalen...:
Afbeeldingslocatie: http://oi66.tinypic.com/24e51k8.jpg

Dus de naam_2 procedure heb ik verwijderd, maar als ik de originele uitvoer krijg ik de resultaten nog te zien van de verwijderde naam_2 procedure..

[ Voor 7% gewijzigd door Mortalboy[NL] op 15-03-2017 04:27 ]


Acties:
  • +1 Henk 'm!

  • Mortalboy[NL]
  • Registratie: Oktober 2011
  • Laatst online: 16-07-2021
Als je te veel bezig bent, dan zie je vaak de grootste domme dingen niet meer... Op het eind had ik nog select * from klanten staan...

Bij deze is het opgelost, en mag eventueel ook verwijderd worden...

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Mortalboy[NL] schreef op woensdag 15 maart 2017 @ 04:54:
Bij deze is het opgelost, en mag eventueel ook verwijderd worden...
Topics worden hier nooit verwijderd omdat ze anderen evt ook kunnen helpen :)

Rest mij toch te zeggen dat ik je zou aanraden dit verder nooit meer te doen op deze manier. Dit soort werk is veel simpeler te doen in code en dan kan t meteen in versiebeheer worden meegenomen.

Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 19:21

Dido

heforshe

Mortalboy[NL] schreef op woensdag 15 maart 2017 @ 04:54:
Als je te veel bezig bent, dan zie je vaak de grootste domme dingen niet meer... Op het eind had ik nog select * from klanten staan...
Sterker nog, ik zie helemaal geen verschil tussen je twee procedures.

Maar inderdaad, leuk voor een schooloefening, maar in het echt gebruik je SP's voor andere dingen :)

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Cartman! schreef op zaterdag 18 maart 2017 @ 11:19:
[...]
Rest mij toch te zeggen dat ik je zou aanraden dit verder nooit meer te doen op deze manier. Dit soort werk is veel simpeler te doen in code en dan kan t meteen in versiebeheer worden meegenomen.
Ehm, ik mag toch hopen dat je SP en andere dbase-aanpassingen ook in je versiebeheer meegenomen worden... Anders heb je toch een leuke uitdaging na een tijdje...

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Gomez12 schreef op zaterdag 18 maart 2017 @ 19:33:
[...]

Ehm, ik mag toch hopen dat je SP en andere dbase-aanpassingen ook in je versiebeheer meegenomen worden... Anders heb je toch een leuke uitdaging na een tijdje...
Dat kan ook zeker maar ik heb zelden tot nooit SPs nodig gehad. Simpel inserts en selects zou ik ekker in m'n backend houden ipv in m'n DB als SP.
Pagina: 1