Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
STL_DDLTEXT
Cattura le seguenti DDL istruzioni che sono state eseguite sul sistema.
Queste DDL istruzioni includono le interrogazioni e gli oggetti seguenti:
-
CREATE SCHEMA, TABLE, VIEW
-
DROP SCHEMA, TABLE, VIEW
-
ALTER SCHEMA, TABLE
Consulta anche STL_QUERYTEXT, STL_UTILITYTEXT e SVL_STATEMENTTEXT. Queste visualizzazioni forniscono una cronologia dei SQL comandi eseguiti sul sistema; questa cronologia è utile per la risoluzione dei problemi e per creare una traccia di controllo di tutte le attività del sistema.
ENDTIMEUtilizzate le colonne STARTTIME e per scoprire quali istruzioni sono state registrate in un determinato periodo di tempo. I blocchi di SQL testo lunghi sono suddivisi in righe lunghe 200 caratteri; la SEQUENCE colonna identifica i frammenti di testo che appartengono a una singola istruzione.
STL_ DDLTEXT è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.
Alcuni o tutti i dati di questa tabella sono disponibili anche nella visualizzazione di SYS monitoraggioSYS_QUERY_HISTORY. I dati nella visualizzazione di SYS monitoraggio sono formattati per essere più facili da usare e da comprendere. Ti consigliamo di utilizzare la visualizzazione di SYS monitoraggio per le tue domande.
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
userid | integer | ID dell'utente che ha generato la voce. |
xid | bigint | ID di transazione associato all'istruzione. |
pid | integer | ID di processo associato all'istruzione. |
etichetta | character(320) | Il nome del file utilizzato per eseguire la query o un'etichetta definita con un GROUP comando SET QUERY _. Se la query non è basata su file o il GROUP parametro QUERY _ non è impostato, questo campo è vuoto. |
starttime | timestamp | Ora in cui UTC è iniziata la query. Il tempo totale include l'inserimento in coda e l'esecuzione, con precisione a 6 cifre per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.131358 . |
endtime | timestamp | Ora in UTC cui la query è terminata. Il tempo totale include l'inserimento in coda e l'esecuzione, con precisione a 6 cifre per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.131358 . |
sequenza | integer | Quando una singola istruzione contiene più di 200 caratteri, vengono registrate delle righe aggiuntive per tale istruzione. La sequenza 0 è la prima riga, 1 la seconda e così via. |
text | character(200) | SQLtesto, con incrementi di 200 caratteri. Questo campo potrebbe contenere caratteri speciali come barra rovesciata (\\ ) e nuova riga (\n ). |
Query di esempio
La seguente query restituisce record che includono istruzioni eseguite in precedenza. DDL
select xid, starttime, sequence, substring(text,1,40) as text from stl_ddltext order by xid desc, sequence;
Di seguito è riportato un esempio di output che mostra quattro CREATE TABLE istruzioni. Le DDL istruzioni vengono visualizzate nella text
colonna, che viene troncata per motivi di leggibilità.
xid | starttime | sequence | text ------+----------------------------+----------+------------------------------------------ 1806 | 2013-10-23 00:11:14.709851 | 0 | CREATE TABLE supplier ( s_suppkey int4 N 1806 | 2013-10-23 00:11:14.709851 | 1 | s_comment varchar(101) NOT NULL ) 1805 | 2013-10-23 00:11:14.496153 | 0 | CREATE TABLE region ( r_regionkey int4 N 1804 | 2013-10-23 00:11:14.285986 | 0 | CREATE TABLE partsupp ( ps_partkey int8 1803 | 2013-10-23 00:11:14.056901 | 0 | CREATE TABLE part ( p_partkey int8 NOT N 1803 | 2013-10-23 00:11:14.056901 | 1 | ner char(10) NOT NULL , p_retailprice nu (6 rows)
Ricostruzione memorizzata SQL
Di seguito SQL sono elencate le righe memorizzate nella text
colonna _. STL DDLTEXT Le righe sono ordinate per xid
e sequence
. Se l'originale SQL era più lungo di 200 caratteri su più righe, STL _ DDLTEXT può contenere più righe disequence
.
SELECT xid, sequence, LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') WITHIN GROUP (ORDER BY sequence) as query_statement FROM stl_ddltext GROUP BY xid, sequence ORDER BY xid, sequence;
xid | sequence | query_statement
--------+-----------+-----------------
7886671 0 create external schema schema_spectrum_uddh\nfrom data catalog\ndatabase 'spectrum_db_uddh'\niam_role ''\ncreate external database if not exists;
7886752 0 CREATE EXTERNAL TABLE schema_spectrum_uddh.soccer_league\n(\n league_rank smallint,\n prev_rank smallint,\n club_name varchar(15),\n league_name varchar(20),\n league_off decimal(6,2),\n le
7886752 1 ague_def decimal(6,2),\n league_spi decimal(6,2),\n league_nspi smallint\n)\nROW FORMAT DELIMITED \n FIELDS TERMINATED BY ',' \n LINES TERMINATED BY '\\n\\l'\nstored as textfile\nLOCATION 's
7886752 2 3://mybucket-spectrum-uddh/'\ntable properties ('skip.header.line.count'='1');
...
Per ricostruire quanto SQL memorizzato nella text
colonna STL _DDLTEXT, esegui la seguente SQL istruzione. Mette insieme DDL le istruzioni di uno o più segmenti della colonna. text
Prima di eseguire la ricostruzioneSQL, sostituisci qualsiasi carattere speciale (\n
) con una nuova riga nel tuo SQL client. I risultati della seguente SELECT istruzione mettono insieme tre righe in sequenza per ricostruire ilSQL, nel campo. query_statement
SELECT LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END) WITHIN GROUP (ORDER BY sequence) as query_statement FROM stl_ddltext GROUP BY xid, endtime order by xid, endtime;
query_statement
--------------
create external schema schema_spectrum_uddh\nfrom data catalog\ndatabase 'spectrum_db_uddh'\niam_role ''\ncreate external database if not exists;
CREATE EXTERNAL TABLE schema_spectrum_uddh.soccer_league\n(\n league_rank smallint,\n prev_rank smallint,\n club_name varchar(15),\n league_name varchar(20),\n league_off decimal(6,2),\n league_def decimal(6,2),\n league_spi decimal(6,2),\n league_nspi smallint\n)\nROW FORMAT DELIMITED \n FIELDS TERMINATED BY ',' \n LINES TERMINATED BY '\\n\\l'\nstored as textfile\nLOCATION 's3://mybucket-spectrum-uddh/'\ntable properties ('skip.header.line.count'='1');