2013-11-26 9 views
5

Da quello che ho letto, il modo preferito per memorizzare uno Java UUID in Oracle is in a RAW(16) column. Quando ho suggerito di utilizzare questo per il mio DBA, ha commentato che il tipo RAW è stato ritirato in Oracle 8i e fornito come prova this page. Tuttavia, da quello che vedo su quella pagina, LONG RAW è deprecato, ma non RAW. Ho trovato a few places where others have raised similar questions, ma non ho trovato una risposta definitiva. Sembra anche che sia numerousreferences al tipo di dati RAW nelle recenti note di rilascio di Oracle che mi induce a credere che il tipo sia ancora supportato. Qualcuno può fornire una risposta autorevole su questo, preferibilmente con una prova adeguata da Oracle?Il tipo RAW è deprecato in Oracle?

+1

Non c'è alcun sostituto per 'RAW'. 'RAW' è per' BLOB' come 'VARCHAR2' è per' CLOB'. – ibre5041

+0

Questa domanda non ha molto a che fare con Java, quindi sto rimuovendo quel tag. Sembra quasi una pura domanda Oracle. – yshavit

+1

il tuo DBA non è corretto. RAW e LONG RAW non sono la stessa cosa. Vedi [qui] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#SQLRF50993) per ulteriori informazioni. LONG RAW dovrebbe usare BLOB. – tbone

risposta

8

RAW è completamente supportato ed è l'unico modo per memorizzare piccole quantità di dati binari che impediranno a Oracle di eseguire la conversione del set di caratteri.

LONG e LONG RAW sono entrambi obsoleti a supporto dei tipi di dati CLOB e BLOB.

È difficile trovare la documentazione che dice che qualcosa non è deprecato. This discussion of RAW and LONG RAW è probabilmente il più vicino. Richiama esplicitamente il fatto che non si dovrebbe usare LONG RAW ma non si fa alcun punto simile su RAW.

+0

http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#i4146 – zloctb