Il Command Run SQL consente di eseguire una qualsiasi istruzione T-SQL su oggetti del Model.
Gli elementi definitori di questo Command sono impostabili mediante i seguenti riquadri, nella corrispondente UI:
✓ General, visualizza le informazioni anagrafiche del command;
✓ Parameter list, consente di valorizzare eventuali parametri di esecuzione;
✓ Settings, permette la definizione dell'istruzione SQL da eseguire. Essa può essere scritta nell'editor di testo Sql Text, nella UI del Command. Questo editor è munito di IntelliSense e strumenti di syntax check.
Un Command Run SQL accetta istruzioni DQL (interrogazione dei dati), DML (inserimento e cancellazione dei dati) e DDL (creazione e modifica di oggetti). |
Gli oggetti del Model che possono essere interrogati dall'istruzione SQL sono:
✓ tabelle del Model;
✓ viste di sistema associate a dataset esposti da un Viewer di tipo Grid;
✓ eventuali tabelle speciali (e.g. _added, _modified e _deleted) generate in caso di Full Edit Mode;
✓ eventuali tabelle speciali (i.e. _Dragged_Data e _Dragged_Info) generate in caso di Drag & Drop di record tra griglie.
Ogni modifica sui dati, mediante un Command Run SQL è efficace solo all'interno dell'esecuzione corrente del Book. La sorgente dati non viene modificata dal Command. |
Le viste di sistema associate a dataset esposti da un Grid Viewer sono:
✓ ViewerName\DataMember\ActiveRow, espone il record corrente, ossia la riga della griglia attiva in quel momento;
✓ ViewerName\DataMember\SelectedRows, mostra i record relativi a tutte le righe della griglia attualmente selezionate;
✓ ViewerName\Info, espone i valori di alcuni metadati della griglia, quali nome della colonna o della tabella corrente.
ESEMPIO: UTILIZZO DELLE VISTE DI SISTEMA Supponiamo di avere un DataLink, chiamato Products, contenente la colonna Prod_ID. Il relativo dataset è esposto in un Book mediante un Grid Viewer, chiamato ProductsGrid. ✓ La sintassi corretta per richiamare il campo Prod_ID relativo al record corrente è: SELECT ar.Prod_ID FROM [ProductsGrid\Products\ActiveRow] ar ✓ La sintassi corretta per richiamare il campo Prod_ID relativo ad un set di record selezionati è: SELECT sr.Prod_ID FROM [ProductsGrid\Products\SelectedRows] sr |
La vista \Info mette a disposizione dell'utente le seguenti informazioni, relative alla griglia corrente:
✓ ActiveBandName, nome della band corrente, ossia il nome di una tabella o di una relazione "padre-figlio", in caso la tabella corrente sia una tabella "figlio";
✓ ActiveColumnName, nome della colonna attiva;
✓ ActiveTableName, nome della tabella corrente;
✓ IsVisible, valore Booleano, che specifica se la griglia corrente è attualmente visibile a video.
ESEMPIO: UTILIZZO DELLA VISTA \Info Nelle ipotesi dell'esempio precedente, la sintassi corretta per richiamare il nome della colonna attiva è: SELECT inf.ActiveColumnName FROM [ProductsGrid\Info] inf |
In assenza di transazioni esplicite, le istruzioni T-SQL sono eseguite nell’ambito di un’unica transazione di tipo AUTOCOMMIT. Tale comportamento è analogo al Default Transaction Mode di un Export Book To DB. |