Avatar billede Slettet bruger
22. maj 2008 - 08:34 Der er 4 kommentarer og
1 løsning

Funktioner / stored procedure i MySQL

Hej eksperter.
Nogen der kan hjælpe mig med info omkring funktioner / stored procedure i MySQL?

Er funktioner ikke det samme som stored procedure?
Hvad kan man evt. bruge funktionerne til som er smartere end i koden, og er der nogen størrer fordele/ulemper ved dette?
Avatar billede arne_v Ekspert
22. maj 2008 - 14:54 #1
En SP er et stykke kode som kan men ikke behoever returnere baade result set, parametere og out argumenter.

En function er et stykke kode som returnerer praecis en vaerdi.
Avatar billede arne_v Ekspert
08. juni 2008 - 04:41 #2
OK ?
Avatar billede Slettet bruger
08. juni 2008 - 10:11 #3
jo tak
Avatar billede Slettet bruger
08. juni 2008 - 10:12 #4
kan du evt. give et simpelt eksempel?
Avatar billede arne_v Ekspert
09. juni 2008 - 01:50 #5
Følgende er ikke de mest avancerede men de viser da lidt af forskellen:

mysql> CREATE PROCEDURE testsp()
    -> BEGIN
    ->    SELECT * FROM t1;
    ->    SELECT * FROM t1;
    ->    SELECT * FROM t1;
    -> END//
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;
mysql> DELIMITER //
mysql> CREATE FUNCTION testudf(n INTEGER) RETURNS INTEGER
    -> BEGIN
    ->    RETURN n+1;
    -> END//
Query OK, 0 rows affected (0.02 sec)

mysql> DELIMITER ;
mysql> CALL testsp;
+----+------+
| F1 | F2  |
+----+------+
|  1 | A    |
|  2 | BB  |
|  3 | CCC  |
+----+------+
3 rows in set (0.00 sec)

+----+------+
| F1 | F2  |
+----+------+
|  1 | A    |
|  2 | BB  |
|  3 | CCC  |
+----+------+
3 rows in set (0.00 sec)

+----+------+
| F1 | F2  |
+----+------+
|  1 | A    |
|  2 | BB  |
|  3 | CCC  |
+----+------+
3 rows in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT testudf(3);
+------------+
| testudf(3) |
+------------+
|          4 |
+------------+
1 row in set (0.00 sec)

mysql> DROP PROCEDURE testsp;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP FUNCTION testudf;
Query OK, 0 rows affected (0.00 sec)
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