14. april 2005 - 11:55Der er
21 kommentarer og 1 løsning
Stored procedures hvor i MySQL 5.0?
Jeg har netop downloaded og installeret MySQL 5.0 Beta version. Hvori der skulle være mulighed for at lave stored procedures. Men hvor skriver jeg dem henne?
Jeg bruger MySQL front som GUI, og kan ikke se nogle steder derinde, jeg kan skrive stored procedures. Er der nogen der ved hvor man skriver dem henne. Der står nemlig ikke noget om hvor man skriver dem, i det white paper jeg har downloaded.
The SQL SECURITY characteristic can be used to specify whether the routine should be executed using the permissions of the user who creates the routine or the user who invokes it. The default value is DEFINER. This feature is new in SQL:2003. The creator or invoker must have permission to access the database with which the routine is associated. As of MySQL 5.0.3, it is necessary to have the EXECUTE privilege to be able to execute the routine. The user that must have this privilege is either the definer or invoker, depending on how the SQL SECURITY characteristic is set.
Den side kigge jeg også på. Måske læner jeg mig for meget op af SQL server... Derinde skriver man nemlig alle sine stored proc under et et stored proc område. Jeg tænkte måske at man gjorde det på samme måde i MySQL 5.0.
Hmmm jeg ved ikke hvor jeg skal oprette mine stored procedures. På nettet er der kun eksempler på syntaks etc., men er der nogen der ved hvor man opretter dem.
Jeg har forsøgt at lave en simpel st. proc. i MySQL front i SQL Query maker, men jeg får bare fejl:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
...og jeg har skrevet...
CREATE PROCEDURE CountProducts () BEGIN SELECT COUNT(*) AS ANTAL FROM prodduct; END
DELIMITER // CREATE PROCEDURE CountProducts (OUT Antal INT) BEGIN SELECT COUNT(*) INTO Antal FROM Product You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER // CREATE PROCEDURE CountProducts (OUT Antal INT) BEGI END // DELIMITER You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END // DELIMITER' at line 1
man kan vel godt ude i CMD taste et eller andet for at få versions nummeret ikk? Prøver det lige. Havde ellers bare installeret MySQL 5.0 ovenpå 4.1 eller hvad den hed.
Det nemmeste er nok at: - installerere 4.x og 5.x i forskellige dirs - manuelt remove den service man ikke vil bruge og installe den service man vil bruge hver gang man skifter - start service
De er installeret i forskellige dirs. Jeg har kopieret mine database mappe ind i 5.0. Nu skal jeg vel gøre det som du siger...slukke for 4.01 og starte 5.0....
hmmm jeg fik 'fjernet' min 'gamle' instans 4.01, og prøvede at starte 5.0, men har bøvl med sikkerheds indstillingerne. Jeg har rigtige dårlige erfaringer med at rode rundt...det ender altid med at jeg får det hele ødelagt. Jeg kører vel bare videre med 4.01 indtil, jeg har fået fuldvoksne n#ss#r. :)
Jeg synes faktisk ikke at MySQL er slemt. Der er en del små finesser. Men der er mulighed for at gøre det hele manuelt, hvis man har problemer. Og det meste er OK dokumenteret.
jeg er vist eneste deltager i tråden udover dig selv
:-)
jeg ligger et svar hvis du synes at min indsats har været point værd
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.