Comment je peux créer un tableau ayant deux longues colonnes?
Je suis en utilisant Oracle 10 g.
J'ai une table qui a besoin de deux colonnes de la Long
type:
CREATE TABLE emp
(
id1 LONG NULL,
id2 LONG NULL,
//
// Other columns.
);
Quand je suis de l'exécution de cette requête, il me donne cette erreur:
Error report:
SQL Error: ORA-01754: a table may contain only one column of type LONG
01754. 00000 - "a table may contain only one column of type LONG"
*Cause: An attempt was made to add a LONG column to a table which already
had a LONG column. Note that even if the LONG column currently
in the table has already been marked unused, another LONG column
may not be added until the unused columns are dropped.
*Action: Remove the LONG column currently in the table by using the ALTER
TABLE command.
J'ai cherché sur Google, mais je ne pouvais pas trouver une solution appropriée. Pourquoi n'ont-ils pas permettre à deux colonnes de LONG
?
Est à l'aide de number
au lieu d'une colonne une bonne idée?
Comment puis-je y parvenir?
Si vous êtes déjà en train de changer le Quartz des tables, vous pouvez également modifier le type VARCHAR à VARCHAR2. Leur table scripts ont quelques questions.
OriginalL'auteur vikiiii | 2012-07-25
Vous devez vous connecter pour publier un commentaire.
LONG
colonnes ne sont pas recommandés pour une longue période; depuis 8i, je crois. De la documentation 11g:Vous n'aviez jamais permis à un
LONG
colonne dans une table. Je ne suis pas entièrement sûr, mais je pense que c'était parce que leLONG
données ont été enregistrées avec les autres colonnes, et plus qu'on ne pourrait le rendre encore plus ingérable. LOBs sont stockés différemment; voir le tableau ici pour une comparaison.Oracle
LONG
type de données est le "Caractère de données de longueur variable jusqu'à 2 gigaoctets'. Si vous êtes à stocker des données numériques, l'utilisationNUMBER
.Si vous êtes à la cartographie des types de données Java (deviner à partir de votre profil!), ce tableau peut-être utile.
peut-être que c'est un type mismatch, êtes-vous essayer de trouver un type de données qui correspond à quelque chose comme un
C
long
, qui est numérique? Je devine à partir de la colonne des noms ressemblant à de l'IDs. OracleLONG
est complètement différent...oui. Mes colonnes sont numériques. Est l'aide de
number
au lieu d'une colonne est une bonne idée?? Ou tout autre type de données que je peux utiliserMerci @Alex. J'ai utilisé le numéro.
OriginalL'auteur Alex Poole
Depuis Oracle 8i le type de données LONG est conseillé de ne pas être utilisé et utilisent plutôt des CLOB ou NLOB les types de données.
Juste au cas où vérifier Oracle 10g documentation sur les types de données. Aussi vérifiez ici pour plus de détails
OriginalL'auteur Yaroslav