2010-03-03 5 views
1

Comment fusionner une table en oracle et Quelle est sa syntaxe?Coalesce dans Oracle

+3

Il y a un certain nombre d'interprétations possibles de votre question. S'il vous plaît expliquer plus en détail. Vous voulez que les gens investissent leur temps pour répondre à votre question; le moins que vous puissiez faire est de passer un peu de votre temps pour l'encadrer correctement. – APC

+0

Coalesce, la fonction ANSI, expliquée: http://stackoverflow.com/questions/1108950/can-nvl-function-be-cascaded –

+0

Je pense que c'est assez explicatif et simple. J'ai supprimé des milliers d'enregistrements de ma table et maintenant je veux fusionner cette table seulement. – user269484

Répondre

0

This documentation est très clair sur l'explication de la façon dont nous utilisons COALESCE.

2

coalesce est une fonction qui prend deux (ou plusieurs) paramètres et retourne la première qui n'est pas nulle.

donné une table avec une colonne nullable appelée, par exemple, Age, vous pourriez écrire:

select coalesce(Age, 18) from MyTable; 
+0

quelle est la différence entre cette utilisation de la fonction coalesce et la fonction NVL? Merci - Jay – Jay

+0

@Jay: 'COALESCE()' est portable - cela fait partie de la norme ANSI. –

+0

@Jay - outre ce qu'Adam dit 'COALESCE()' prend un certain nombre de paramètres alors que 'NVL()' ne prend que les deux. – APC

4

Au départ, je doutais que vous demandiez à propos coalescents tablespaces:

alter tablespace mytablespace coalesce; 

Cette moissonneuses-batteuses étendues contiguës dans des étendues plus grandes. Voir Oracle 10G Docs

Mais maintenant, je pense que peut-être ce que vous recherchez est

alter table mytable shrink space compact; 

Thiis décrit en détail dans this Oracle Magazine article.

+0

Je ne veux pas fusionner tout l'espace de table, j'ai juste besoin de fusionner une seule table. – user269484

+0

Les commentaires ici peuvent aider: http://p2p.wrox.com/oracle/19758-oracle-8i-alter-table-table-coalesce-partition.html –

+0

@usernnn, voir ma réponse révisée. Est-ce ce que vous cherchez? –

1

Si je comprends ce que vous essayez de faire, vous aurez besoin de:

ALTER TABLE blah MOVE TABLESPACE different-tablespace; 

puis déplacez-retour:

ALTER TABLE blah MOVE TABLESPACE original-tablespace;