Lo scopo di questa guida è quello di iniziare a conoscere una tecnologia ampiante diffusa ed utilizzata in ambito enterprise.
In tal senso, credo sia giusto fare una doverosa precisazione: esistono tanti RDBMS (SQL Server, MYSQL, PostGres, etc.) tuttavia, quello più diffuso nelle Pubbliche Amministrazioni e nelle società di medio/grandi dimensioni è, certamnete, Oracle.
Ci tengo a precisare che questo non...
Avviando il file di installazione verrà visualizzata la seguente schermata:
Cliccando su Avanti, verrà mostrata un'ulteriore schermata (visualizzata di seguito) che riporta i termini del contratto di licenza da leggere ed accettare per poter proseguire nell'installazione.
Accettati, quindi, i termini della licenza, premendo ancora Avanti, vi verrà richiesto il percorso (path) dove installare il programma e ci verrà indicato lo spazio...
La schermata dell'Home Page di Amministrazione di Oracle richiede l'autenticazione. Al primo accesso potete usufruire dell'account SYS e della relativa password impostata in fase d'installazione.
Effettuato il login vsi avrà accesso al pannelo di amministrazione.
La home page, graficamente semplice e ben definita, è divisa in due parti distinte. La prima, centrale, visualizza quattro menu tramite i quali è possibile...
Come visto precedentemente dalle schermate del pannello di amministrazione, l'area amministrativa presenta varie funzionalità. Tra queste la gestione delle utenze riveste un ruolo fondamentale. Vediamola un po' più nel dettaglio.
Creare un nuovo utente
La vista Crea Utente, come da figura sottostante, consente di creare un nuovo utente.
Per creare un nuovo utente, è necessario fornire una serie di informazioni obbligatorie che...
L'area Browser oggetti, è divisa principalmente in due macro aree, che corrispondono a due funzionalità ben distinte, e sono rispettivamente:
Crea
Sfoglia
La funzionalità Sfoglia, così come la funzionalità Crea, presenta un sottomenu contenente tutti gli oggetti su cui va ad operare, come si può vedere dalla schermata seguente.
Essa, come mostrato dalla schermata sottostante, racchiude due liste, la prima in alto contiene...
L'area SQL è divisa principalmente in tre macro aree, che corrispondono a tre funzionalità ben distinte, e sono rispettivamente:
Comandi SQL
Script SQL
Costruzione guidata query
Soffermiamoci sulla prima di queste aree. Selezioniamo, quindi, Comandi SQL per aprire il relativo menu:
Selezionando Immetti comando ci verrà presentata la seguente schermata:
Come è possibile notare già ad una prima occhiata, la pagina si suddivide in due...
Occupiamoci ora della fnzionalità Utility. Come si può vedere dalla schermata seguente, essa è distinta nelle seguenti funzionalità:
Caricamento/Scaricamento dati
Genera DDL
Report degli oggetti
Cestino
La funzionalità Caricamento/Scaricamento dati racchiude in se le seguentti funzionalità:
Carica
Scarica
Repository
Noi analizzeremo la funzionalità Carica. Tale funzionalità, cone vedremo, ci permette ci caricare in tabella dati provenienti da altre sorgenti, come potrebbero essere fogli di testo, fogli di calcolo...
Dopo questa rapida carrellata delle principali funzioni offerte da Orcale XE, cominciamo ad addentrarci sulla sintassi dei principali comandi del SQL.
Di seguito verrà fornito qualche semplice esempio di sintassi per quelli che sono i principali costrutti, rimandando ad altre guide presenti sul sito per un loro eventuale approfondimento.
Lo Structured Query Language - di SQL è l'acronimo - è un...
Oggetto di questa lezione sono, invece, i comandi DML; essi sono del tipo:
INSERT
SELECT
DELETE
UPDATE
Si tratta, cioè, dei comandi per la manipolazione dei dati.
INSERT
Il comando di INSERT serve per inserire nuovi record (righe di dati) in tabella.
Supponiamo di voler inserire nella nostra tabella di anagrafica due record; per farlo scriveremo:
INSERT
INTO Anagrafica
VALUES('Mario', 'Rossi', 20000, 'Impiegato');
INSERT
INTO Anagrafica
VALUES('Carlo', 'Verdi,...
Oggetto di questo capitolo sono invece le istruzioni DCL, ovvero le istruzioni che agiscono sulla transazione. Esse sono del tipo:
SAVEPOINT
ROLLBACK
COMMIT
In Oracle, per transazione si intende una serie di istruzioni SQL che vengono trattate come se fossero una singola unità. Come accennato nel capitolo precedente, Oracle non consolida, ovvero non rende permanenti le modifiche apportate dalle istruzioni di Data...
Fin qui abbiamo visto alcuni semplici costrutti del linguaggio 'SQL, costrutti che ci consentono di effettuare tutte le operazioni di manipolazione del database. Essi sono più che sufficienti se il nostro scopo è quello di effettuare semplici interrogazioni, come anche se vogliamo effettuare alcune semplici modifiche alle nostre tabelle.
Maggiore sarà la complessità delle nostre esigenze, maggiore sarà l''esperienza...
Come accennato nella lezione precedente, i blocchi costituiscono l''unità elementare di codice PL/SQL.
Ogni blocco PL/SQL inizia con la parola chiave “BEGIN” e termina con la parola chiave “END” ed ogni istruzione compresa all'interno del blocco deve terminare con il punto e virgola. Avremo quindi una sintassi del genere:
BEGIN
istruzione1;
istruzione2;
END;
Più precisamente, la struttura di un blocco...
Tutte le variabili e le costanti (così come anche i cursori che vedremo in seguito) utilizzate in un blocco PL/SQL devono essere necessariamente dichiarate nella relativa sezione di dichiarazione.
Prima di soffermarci sui formati di dichiarazione specifici ecco alcune regole generali per la dichiarazione di variabili e costanti:
devono iniziare con un carattere
possono contenere sia maiuscole che minuscole
devono avere lunghezza...
In PL/SQL, si definisce procedura un blocco di codice dotato di un nome attraverso cui viene salvato e può essere richiamata da altri blocchi PL/SQL, da altre procedure e da altre funzioni. La sintassi per la definizione di una procedura è la seguente:
CREATE PROCEDURE <nome_procedura> IS
<dichiarazione>
BEGIN
<sequenza di istruzioni>
END ;
Andiamo ad analizzare le clausole...
In PL/SQL si definisce funzione un blocco di codice dotato di un nome attraverso il quale viene salvata e può essere richiamata da altri blocchi PL/SQL, da altre procedure e da altre funzioni.
Le funzioni, del tutto simili alle procedure, si differenziano da queste per la RETURN che specifica il tipo di dato restituito, infatti esse restituiscono sempre un valore....
Finora tutti i comandi che abbiamo visto venivano eseguiti in rigida sequenza.
Adesso, vedremo alcuni costrutti che ci permetteranno di svincolarci da questo "percorso obbligato" e ci consentiranno di eseguire delle istruzioni piuttosto di altre a seconda dei valori assunti da alcune condizioni. Questi costrutti (detti costrutti condizionali) vengono, quindi, utilizzati per controllare il flusso di elaborazione della nostra sequenza...
Per la quot;costruzione" delle condizioni è possibile operare dei confronti utilizzando gli operatori di confronto:
= - uguale
> - maggiore
< - minore
>= - maggiore o uguale
<= - minore o uguale
<> o != - diverso
Facciamo un esempio: costruiamo una condizione sulla base di un'ipotetico campo prezzo, condizione che sarà verificata se il contenuto è inferiore a 100.
IF prezzo < 100 THEN
...
Per strutture iterative (anche dette controlli iterativi o, più comunemente, cicli) si intendono quei costrutti che consentono di eseguire ciclicamente una serie di istruzioni fino a quando non si verifica una condizione oppure terminano gli elementi da "ciclare".
Fondamentalmente, il PL/SQL offre tre diversi tipi di costrutti per il controllo di flusso iterativo:
Ciclo semplice
Ciclo WHILE
Ciclo FOR
Essi si differenziano tra...
Quando all'interno del nostro blocco PL/SQL si verifica un errore, o anche un avviso, viene scatenata un'eccezione. Le eccezioni possono essere distinte in due tipi:
Eccezioni di sistema
Eccezioni utente
Gli errori più generici che si possono verificare durante l'esecuzione di blocchi PL/SQL vengono gestiti dalle eccezioni di sistema. Esse si scatenano automaticamente quando si verificano i relativi errori. Le eccezioni utente...
Quando eseguiamo una query, possiamo avere come risultato una tupla o una serie di tuple. Con gli strumenti analizzati fin'ora, a meno di aggiornamenti massivi in tabella, riusciamo a gestire al meglio solo le singole tuple. Il PL/SQL però, mette a disposizione uno strumento potente per la gestione di query che restituiscono una serie di tuple. Questo strumento è...
Nel capitolo precedente abbiamo visto i cursori, più specificatamente abbiamo visto cosa sono e come si utilizzano i cursori espliciti.
Esiste, tuttavia, un altro tipo di cursori, i cosiddetti cursori impliciti, che in realtà abbiamo già utilizzato pur senza saperlo. Infatti, ogni qualvolta eseguiamo un comando DML così come una query del tipo SELECT INTO, il server Oracle apre...
Finora abbiamo analizzato query che operano su una singola tabella, ma una caratteristica fondamentale dei database relazionali è, invece, proprio quella di riuscire ad interrogare simultaneamente diverse tabelle.
In sostanza, è possibile ottenere tuple i cui campi appartengono a tabelle differenti in modo tale da avere, con una singola query, tutte le informazioni necessarie anche se appartenenti a tabelle differenti.
La...
Come abbiamo visto, tramite le query possiamo estrarre il contenuto delle tabelle del database. Finora, abbiamo estratto i dati così come erano stati memorizzati, tuttavia l'SQL ci permette, tramite una serie di funzioni, di manipolare in qualche maniera i dati che andiamo ad estrarre in modo tale da restituirci qualcosa di più consono a quelle che possono essere le...
Come detto nella precedente lezione è impossibile vedere tutte le funzioni offerte da PL/SQL che, anche per la gestione delle operazioni matematiche, sono tantissime. In questa sede, pertanto, ci limiteremo a vedere solo le seguenti funzioni:
ABS
SQRT
ROUND
SIGN
ABS
La funzione ABS, la cui sintassi è la seguente:
ABS(x)
restituisce il valore assoluto del numero x. Per intenderci, se scriviamo:
SELECT ABS(-100) FROM Dual;
Otterremo come risultato:...
Lavorando con Oracle, la gestione delle date è un aspetto fondamentale per la creazione di applicazioni aziendali robuste e precise. Le date sono utilizzate in una vasta gamma di contesti, come la gestione delle transazioni, la pianificazione di eventi, il monitoraggio delle scadenze e la generazione di report. Tuttavia, lavorare con le date può diventare complesso senza una comprensione...
Tra i compiti del DBA, vi è quello di creare e amministrare le utenze del database. Sarà lui a decidere quali privilegi concedergli, ovvero le operazioni che essi potranno compiere sul database ad essi associato.
Abbiamo già avuto modo di vedere come si crea un'utenza tramite le funzionalità offerte dal pannello di amministrazione. Ora vedremo come fare altrettanto tramite comandi...
Abbiamo a cuore la tua privacy
Noi e i nostri partner archiviamo e/o accediamo a informazioni su un dispositivo. Cookie, identificatori del dispositivo o analoghi identificatori online (ad es. identificatori basati sull’accesso, identificatori assegnati casualmente, identificatori basati sulla rete) insieme ad altre informazioni (ad es. tipo di browser e informazioni sul browser, lingua, dimensioni dello schermo, tecnologie supportate, ecc.) possono essere archiviati sul o letti dal dispositivo dell’utente per riconoscerlo ogni volta che l’utente si connette a un’app o a un sito web, per una o più finalità qui presentate.
Con il tuo consenso, i tuoi dati possono essere utilizzati per quanto segue: Pubblicità e contenuti personalizzati, misurazione delle prestazioni dei contenuti e degli annunci, ricerche sul pubblico, sviluppo di servizi; Dati di geolocalizzazione precisi e identificazione attraverso la scansione del dispositivo.
I tuoi dati personali verranno trattati e le informazioni dal tuo dispositivo (cookie, identificatori univoci e altri dati del dispositivo) possono essere memorizzate, consultate e condivise con 179 partner, o utilizzate specificamente da questo sito o questa app. Alcuni fornitori potrebbero trattare i tuoi dati personali sulla base dell'interesse legittimo, al quale puoi opporti gestendo le tue opzioni qui sotto. Puoi revocare il tuo consenso in qualsiasi momento facendo clic sul link delle impostazioni sulla privacy situato in fondo alla pagina.
Puoi scegliere come utilizzare i tuoi dati personali. Noi e i nostri partner desideriamo il vostro permesso per fare quanto segue.
Alcuni partner non chiedono il tuo consenso al trattamento dei tuoi dati, ma fanno affidamento sul loro legittimo interesse commerciale. Guarda il nostro elenco di partner per conoscere gli scopi per cui credono di avere un interesse legittimo e come puoi opporti.
Questi sono i nostri partner pubblicitari che partecipano al Framework di trasparenza e consenso dello IAB, creato per garantire un uso trasparente e corretto dei dati.
Questi fornitori sono registrati su Google, ma non nel Transparency & Consent Framework di IAB Europe.
{"b_dec":{"def":"Rifiuta e chiudi","res":"Rifiuta e chiudi"},"priclt":"\u003Cdiv class=\u0022cl-consent-settings cl-consent-settings--is-hidden\u0022\u003E\u003Cstyle\u003E.cl-consent-settings{position:fixed;left:16px;bottom:calc(28px + var(--__lxG___css_var_privacy_icon_auto, 0px));z-index:100;transition:all 0.15s ease-in-out;transform:translateY(0)}.cl-consent-settings--is-hidden{transform:translateY(70px);opacity:0}.cl-consent-settings__hint{border-radius:4px;background:#282A3C;box-shadow:0 4px 24px 0 rgba(0,0,0,.15);color:#FFFCF2;position:absolute;right:-195px;top:0;bottom:0;margin:auto;height:40px;width:175px;display:flex;align-items:center;justify-content:center;padding:4px 12px;font-size:12px;font-weight:400;line-height:16px;cursor:default;user-select:none;transition:transform 0.3s ease,opacity 0.3s ease;transform:translateX(-22px);opacity:0;pointer-events:none;z-index:-1}.cl-consent-settings__hint::after{content:\u0022\u0022;position:absolute;left:-16px;top:0;bottom:0;margin:auto;width:0;height:0;border:0 solid transparent;border-top-width:12px;border-bottom-width:12px;border-right:16px solid #282A3C}.cl-consent-settings__btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;border:none;background-color:#4b81e8!important;background-position:center center;background-size:30px 30px;background-repeat:no-repeat;box-shadow:0 0 20px 0 rgba(0,0,0,.35);z-index:70;position:relative;text-decoration:none;cursor:pointer}.cl-consent-settings__btn::before{content:\u0022\u0022;-webkit-mask-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 width=\u002730\u0027 height=\u002730\u0027 viewBox=\u00270 0 30 30\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 d=\u0027M15 2.813C8.28 2.813 2.812 8.28 2.812 15S8.28 27.188 15 27.188c6.72 0 12.188-5.468 12.188-12.188C27.188 8.28 21.72 2.812 15 2.812Zm0 1.874c5.686 0 10.313 4.627 10.313 10.313 0 5.686-4.627 10.313-10.313 10.313-5.686 0-10.313-4.627-10.313-10.313C4.688 9.314 9.314 4.687 15 4.687Zm-1.875 3.75a.937.937 0 1 0 0 1.875.937.937 0 0 0 0-1.874Zm5.156.938a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.812Zm-7.968 2.813a1.875 1.875 0 1 0 0 3.749 1.875 1.875 0 0 0 0-3.75Zm5.624 1.874a.938.938 0 1 0 0 1.876.938.938 0 0 0 0-1.876Zm4.688.938a.938.938 0 1 0 0 1.875.938.938 0 0 0 0-1.875Zm-8.906 2.813a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.813Zm6.562.937a1.406 1.406 0 1 0 0 2.813 1.406 1.406 0 0 0 0-2.813Z\u0027\/%3E%3C\/svg%3E\u0022);mask-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 width=\u002730\u0027 height=\u002730\u0027 viewBox=\u00270 0 30 30\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 d=\u0027M15 2.813C8.28 2.813 2.812 8.28 2.812 15S8.28 27.188 15 27.188c6.72 0 12.188-5.468 12.188-12.188C27.188 8.28 21.72 2.812 15 2.812Zm0 1.874c5.686 0 10.313 4.627 10.313 10.313 0 5.686-4.627 10.313-10.313 10.313-5.686 0-10.313-4.627-10.313-10.313C4.688 9.314 9.314 4.687 15 4.687Zm-1.875 3.75a.937.937 0 1 0 0 1.875.937.937 0 0 0 0-1.874Zm5.156.938a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.812Zm-7.968 2.813a1.875 1.875 0 1 0 0 3.749 1.875 1.875 0 0 0 0-3.75Zm5.624 1.874a.938.938 0 1 0 0 1.876.938.938 0 0 0 0-1.876Zm4.688.938a.938.938 0 1 0 0 1.875.938.938 0 0 0 0-1.875Zm-8.906 2.813a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.813Zm6.562.937a1.406 1.406 0 1 0 0 2.813 1.406 1.406 0 0 0 0-2.813Z\u0027\/%3E%3C\/svg%3E\u0022);background-color:#ffffff!important;mask-repeat:no-repeat;width:30px;height:30px}.cl-consent-settings__btn:hover+.cl-consent-settings__hint{transform:translateX(0);pointer-events:all;opacity:1}.cl-consent-settings__user{width:18px;height:18px;border-radius:50%;padding:0;border:1px solid #fff;background-color:#00AD98;background-image:url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 viewBox=\u00270 0 10 11\u0027 width=\u002710\u0027 height=\u002711\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 stroke=\u0027%23fff\u0027 stroke-width=\u0027.1\u0027 d=\u0027M6.858 6.262A3.3 3.3 0 0 0 8.2 3.597C8.2 1.796 6.764.325 5 .325s-3.2 1.47-3.2 3.272c0 1.094.53 2.07 1.342 2.665A4.67 4.67 0 0 0 .45 10.5v.05h1v-.05c0-2.012 1.585-3.632 3.55-3.632s3.55 1.62 3.55 3.632v.05h1v-.05a4.67 4.67 0 0 0-2.692-4.238ZM5 1.345c1.22 0 2.2 1.002 2.2 2.252s-.98 2.25-2.2 2.25-2.2-1-2.2-2.25.98-2.252 2.2-2.252Z\u0027\/%3E%3C\/svg%3E\u0022);background-position:center center;background-size:9px 10px;background-repeat:no-repeat;z-index:75;position:absolute;top:-2px;right:-8px;text-decoration:none;visibility:hidden}\u003C\/style\u003E\u003Cbutton type=\u0022button\u0022 class=\u0022cl-consent-settings__btn\u0022\u003E\u003Cspan class=\u0022cl-consent-settings__user\u0022\u003E\u003C\/span\u003E\u003C\/button\u003E\u003Cdiv class=\u0022cl-consent-settings__hint\u0022\u003EImpostazioni sulla privacy e sui cookie\u003C\/div\u003E\u003C\/div\u003E","pricds":"show_in_the_footer","pricaa":1,"vcnt":179,"_t":{"titles":"Purposes|Purposes (Legitimate Interest)|Features|Special Features|Special Purposes|Scopi|Scopi (Interesse Legittimo)|Caratteristiche|Caratteristiche Speciali|Scopi Speciali","sp3_ret":"Le scelte che fai riguardo agli scopi e alle entità elencati in questo avviso sono salvate per un massimo di $sp3_retention$ nei seguenti cookie e variabili di archiviazione locale","ill_pp_ttl":"Esempi di Utilizzo","vndr_dtls_con":"Trattamento dei dati basato sul tuo consenso","vndr_dtls_li":"Trattamento dei dati basato sul legittimo interesse","vndr_dtls_fi":"Trattamento dei dati basato sul tuo consenso o interesse legittimo","cks_strg_dur":"dura $DURATION$","cks_strg_ses":"per la sessione attuale","cks_strg_not_used":"non utilizzato","cks_strg_dur_s":"sec","cks_strg_dur_i":"min","cks_strg_dur_h":"ora(e)","cks_strg_dur_d":"giorno(i)","cks_strg_dur_m":"mese(i)","cks_strg_dur_y":"anno(i)","vr_dts_purl":"URL della politica sulla privacy","vr_dts_dsurl":"URL di divulgazione dell\u0027archiviazione del dispositivo","vr_dts_dsurl_h":"Informazioni aggiuntive su archiviazione e operazioni","vr_dts_clmurl":"URL della richiesta di interessi legittimi","vr_dts_datac":"Categorie di dati","vr_dts_datac_h":"Categorie di dati raccolti in relazione agli scopi","vr_dts_stdret":"Conservazione dei dati standard (giorni)","vr_dts_stdret_h":"Il periodo standard è utilizzato a meno che non sia dichiarato un altro periodo per scopi specifici.","vr_dts_ret":"Conservazione dei dati (giorni)","vr_dts_usecks":"Usa i cookie","vr_dts_usecks_h":"Indica se il fornitore utilizza l\u0027archiviazione dei cookie (sessione o altro). SÌ indica che l\u0027archiviazione dei cookie è utilizzata. NO - l\u0027archiviazione dei cookie non è utilizzata.","vr_dts_usecksy":"Sì","vr_dts_usecksn":"No","vr_dts_cksage":"Età massima del cookie","vr_dts_cksage_h":"Il numero di secondi che rappresenta la durata potenziale più lunga per l\u0027archiviazione dei cookie su un dispositivo. Se un fornitore utilizza più cookie con durate diverse, rappresenta il cookie con la durata più lunga. Un numero negativo o 0 indica l\u0027archiviazione della sessione simile alla specifica Set-Cookie.","vr_dts_cksref":"Aggiornamento cookie","vr_dts_cksref_h":"Indica se i cookie vengono aggiornati dopo essere stati inizialmente impostati. SÌ - indica che il fornitore può aggiornare i cookie. NO - indica che il fornitore non aggiorna i cookie ogni volta che il browser viene ricaricato.","vr_dts_noncks":"Utilizza l\u0027accesso senza cookie","vr_dts_noncks_h":"Indica l\u0027uso da parte del fornitore di archiviazione non-cookie e accesso alle informazioni già memorizzate sul dispositivo di un utente. SÌ - indica che l\u0027accesso senza cookie è utilizzato. NO - indica che l\u0027archiviazione e l\u0027accesso senza cookie alle informazioni già memorizzate sul dispositivo di un utente non vengono utilizzati.","vr_dts_hgetl":"Limite della lunghezza della richiesta HTTP GET (Kbyte)","vr_dts_hgetl_h":"Dimensione massima della richiesta GET in kilobyte per aiutare a diagnosticare i problemi con il passaggio della stringa TC e limitare le stringhe di dimensioni eccessive.","vr_dts_addtnl":"Dati aggiuntivi","vr_dts_legaddr":"Indirizzo completo dell\u0027entità legale","vr_dts_b2bcont":"Dettagli di contatto B2B","vr_dts_terscp":"Ambito territoriale","vr_dts_terscp_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_env":"Ambiente","vr_dts_env_h":"Indica gli ambienti in cui il venditore opera","vr_dts_tserv":"Tipo di servizi","vr_dts_tserv_h":"Indica il tipo di servizi offerti dal venditore","vr_dts_trnsfout":"Trasferimenti internazionali fuori dall\u0027UE\/SEE","vr_dts_trnsfout_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_trnsfmch":"Meccanismi di trasferimento internazionale"}}