15.06.2013 Views

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2 short eta;<br />

3 char char nome nome [25]; [25];<br />

[25];<br />

4 char char cognome[25];<br />

cognome[25];<br />

5 5 EXEC EXEC SQL SQL END END DECLARE DECLARE SECTION<br />

SECTION<br />

Carnielli Efrem: Programmazione a componenti<br />

Applicazioni Client-Server e database<br />

In questo esempio il precompilatore sa che le variabile <strong>di</strong>chiarate nelle righe 2, 3 e 4<br />

verranno utilizzate come parametri per sql.<br />

Con le seguenti istruzioni <strong>di</strong>chiaro il cursore per lo statement:<br />

EXEC EXEC EXEC SQL SQL DECLARE DECLARE CURSOR CURSOR C1 C1 C1 FOR<br />

FOR<br />

select * from giocatori<br />

where eta > :eta<br />

C1 è il nome del cursore che viene <strong>di</strong>chiarato e che verrà utilizzato per analizzare il<br />

recordset ottenuto dall’<strong>in</strong>terrogazione. Deve essere effettuato, da parte del<br />

precompilatore, il typecast<strong>in</strong>g per la variabile età.<br />

Ve<strong>di</strong>amo <strong>in</strong> questo esempio che l’<strong>in</strong>formazione d<strong>in</strong>amica è l’età. Ma non tutte le<br />

parti <strong>di</strong> una query possono essere d<strong>in</strong>amiche. In particolare, le colonne non<br />

possono essere d<strong>in</strong>amiche.<br />

Una complicazione viene dai marker, <strong>in</strong> quanto non possiedono dei nomi<br />

simbolici, ma dei numeri.<br />

6.8 Module Language<br />

Con il Module Language è possibile utilizzare l’SQL <strong>in</strong> modo procedurale, si parla<br />

<strong>di</strong> stored procedure dei databases con la <strong>di</strong>fferenza che non sono “stored”, cioè<br />

non sono memorizzate all’<strong>in</strong>terno del DB; ma devono essere sottoposte ad un<br />

compilatore, e qu<strong>in</strong><strong>di</strong> relativamente al meccanismo compilazione-l<strong>in</strong>k<strong>in</strong>g-runtime<br />

sono paragonabili all' embedded SQL.<br />

148

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!