2014-11-11 14 views
11

so come fare questo in SQL Server, grazie a questa furbata di codiceRecuperare non salvate script di query SQL in Oracle SQL Developer

Use <database> 
SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script] 
FROM sys.dm_exec_query_stats AS execquery 
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql 
ORDER BY execquery.last_execution_time DESC 

FONTE: Recover unsaved SQL query scripts

Esiste un modo per farlo in Oracle SQL Developer?

+2

'select * from v $ sql' –

+0

' ORA-00942: tabella o vista non esiste 00942.00000 - "tabella o vista inesistente" * Causa: * Azione: Errore alla riga: 1 colonna: 14' – Matt

+3

Apparentemente mancano i privilegi necessari –

risposta

27

Se si dispone dei privilegi di allora:

SELECT * FROM v$sql 

Se poi non premere F8 per visualizzare un elenco di precedenza corse query.

17

This mi ha salvato più volte il sedere.

Ciao ragazzi, è davvero un problema quando si perde il codice non salvato. Per circa un mese ho lavorato su una grande procedura, e ho dimenticato di salvare il codice in SVN. Se leggi questo e ricorda di avere un codice così non salvato, lo lo impegni immediatamente! :) Perché tutto potrebbe accadere con il tuo db test . Ok. sei fortunato se stavi usando Oracle SQL Developer, perché questo programma ha una grande funzionalità: salva il tuo codice nella sua storia di sql nonostante mangiando una grande festa della tua RAM. Aprire il file explorer e individuare questa cartella:

C: \ Users \% username% \ AppData \ Roaming \ SQL Developer \ SqlHistory

Troverete un sacco di file XML, e se siete due volte fortunato, troverai il tuo codice perso. È meraviglioso. :). Se stai utilizzando un altro programma, prova a cercare funzionalità come questa e forse ti aiuta. Le mie condoglianze se questo post non ti aiuta, in ogni caso, prova a trovare qualcosa di buono tra i seguenti: 1) scrivi di nuovo il tuo codice, e sarà meglio di prima come hai fatto una volta 2) codice, così da non faccia così problema in futuro

+0

Questo mi ha permesso di risparmiare un sacco di lavoro oggi. Grazie! –

3

Questo sta usando la storia di SQLDeveloper, come nella risposta di Matt, ma se si vuole cercare attraverso i file di storia per frammenti di query specifiche si ricorda, sono trova come file .xml in /home/username/.sqldeveloper/SqlHistory. Da lì, immettere:

find -type f -mtime -1 -print0 | xargs -0 grep -l <text>

(dove -mtime -1 appena di un giorno fa significhi).

1

Puoi provare anche tu, così puoi ottenere l'SQL non salvato.

Visualizza> Storia SQL, per esempio, guardare questa immagine: enter image description here

Problemi correlati