Avatar billede humanoid Nybegynder
17. januar 2008 - 11:36 Der er 4 kommentarer og
1 løsning

Eksekver SP før delaring af cursor

Er det muligt i en SP at kalde en funktion før man erklære en cursor ?
Avatar billede pidgeot Nybegynder
17. januar 2008 - 23:49 #1
Den tror jeg du bliver nødt til at uddybe lidt. En Stored Procedure er jo ikke andet end en samling SQL-sætninger der eksekveres i rækkefølge.
Avatar billede humanoid Nybegynder
21. januar 2008 - 10:33 #2
CREATE DEFINER=`root`@`localhost` PROCEDURE `User_list`(page INT, maxrange INT, suserid INT)
BEGIN
    /*Her skal jeg kalde en funktion der merger 2 tabeller*/
    DECLARE done INT DEFAULT 0;
    DECLARE UserLevel INT;
    DECLARE cur1 CURSOR FOR
          SELECT AccessLevel FROM user WHERE ID = suserid;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
    OPEN cur1;
..........
Avatar billede pidgeot Nybegynder
21. januar 2008 - 12:59 #3
Og som jeg indirekte spørger: Kan du ikke bare gøre præcist som hvis du havde kaldt den manuelt?

CREATE DEFINER=`root`@`localhost` PROCEDURE `User_list`(page INT, maxrange INT, suserid INT)
BEGIN
    CALL DinStoredProcedure(DinParameter)
    DECLARE done INT DEFAULT 0;
...
Avatar billede humanoid Nybegynder
21. januar 2008 - 14:12 #4
Nej desvære ikke, det kan man ikke. Jeg har lavet det i en procedure der kalder en SP og derefter kalder User_list(), det virker selvfølgelig, men det giver en del mere SP´er.
Avatar billede humanoid Nybegynder
28. april 2008 - 10:03 #5
vi lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester