Professional Documents
Culture Documents
Stored Procedures / 1
A. Poggi – C. Corona 1
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 2
A. Poggi – C. Corona 2
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 3
A. Poggi – C. Corona 3
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 4
A. Poggi – C. Corona 4
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 5
A. Poggi – C. Corona 5
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 6
A. Poggi – C. Corona 6
Progetto di Applicazioni Software Anno accademico 2008-2009
Stored Procedures / 7
A. Poggi – C. Corona 7
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 8
Progetto di Applicazioni Software Anno accademico 2008-2009
Esempio
A. Poggi – C. Corona 9
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 10
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 11
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 12
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 13
Progetto di Applicazioni Software Anno accademico 2008-2009
func_parameter:
param_name type
A. Poggi – C. Corona 14
Progetto di Applicazioni Software Anno accademico 2008-2009
characteristic:
LANGUAGE SQL | [NOT] DETERMINISTIC
| {CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA}
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT ’string’
A. Poggi – C. Corona 15
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 16
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 17
Progetto di Applicazioni Software Anno accademico 2008-2009
• un compound statement:
[begin_label:] BEGIN
[statement_list]
END [end_label]
A. Poggi – C. Corona 18
Progetto di Applicazioni Software Anno accademico 2008-2009
characteristic:
{ CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA}
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT ’string’
A. Poggi – C. Corona 19
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 20
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 21
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 22
Progetto di Applicazioni Software Anno accademico 2008-2009
mysql> delimiter //
mysql> delimiter ;
A. Poggi – C. Corona 23
Progetto di Applicazioni Software Anno accademico 2008-2009
Compound Statement
2. DECLARE statement
(a) per variabili
(b) per condizioni e handler
(c) per cursori
A. Poggi – C. Corona 24
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 25
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 26
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 27
Progetto di Applicazioni Software Anno accademico 2008-2009
Condizioni
condition_value:
SQLSTATE [VALUE] sqlstate_value
| mysql_error_code
A. Poggi – C. Corona 28
Progetto di Applicazioni Software Anno accademico 2008-2009
Handlers
A. Poggi – C. Corona 29
Progetto di Applicazioni Software Anno accademico 2008-2009
OPEN cursor_name
CLOSE cursor_name
A. Poggi – C. Corona 30
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 31
Progetto di Applicazioni Software Anno accademico 2008-2009
OPEN cur1;
OPEN cur2;
REPEAT
A. Poggi – C. Corona 32
Progetto di Applicazioni Software Anno accademico 2008-2009
CLOSE cur1;
CLOSE cur2;
END
A. Poggi – C. Corona 33
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 34
Progetto di Applicazioni Software Anno accademico 2008-2009
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
A. Poggi – C. Corona 35
Progetto di Applicazioni Software Anno accademico 2008-2009
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
A. Poggi – C. Corona 36
Progetto di Applicazioni Software Anno accademico 2008-2009
[begin_label:] LOOP
statement_list
END LOOP [end_label]
ITERATE label
LEAVE label
A. Poggi – C. Corona 37
Progetto di Applicazioni Software Anno accademico 2008-2009
A. Poggi – C. Corona 38
Progetto di Applicazioni Software Anno accademico 2008-2009
[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
A. Poggi – C. Corona 39
Progetto di Applicazioni Software Anno accademico 2008-2009
mysql> delimiter //
A. Poggi – C. Corona 40
Progetto di Applicazioni Software Anno accademico 2008-2009
WHILE v1 > 0 DO
...
SET v1 = v1 - 1;
END WHILE;
END
A. Poggi – C. Corona 41