2015-08-24 1 views
-1

Je table db2 (en utilisant bigsql) qui est partitionné comme par date IBM BigInsightscomment tronquer ou supprimer la partion de DB2 en utilisant bigsql?

table_name_abc 
    20150810 
     data corresponding to partition 
    20150811 
     data corresponding to partition 
    .... 

ce que je veux est de supprimer la partition particulière dire 20150810 ou supprimer des données de cette partition

J'ai essayé

db2 "truncate table test_schema.table_name_abc where partition_date = 20150810"; 

Mais il a donné erreur suivant

DB21034E The command was processed as an SQL statement because it was not a 
valid Command Line Processor command. During SQL processing it returned: 
SQL0104N An unexpected token "where" was found following "test_table". 
Expected tokens may include: "". SQLSTATE=42601 

Quelqu'un peut-il instruire sur la façon de faire cela?

+0

'TRUNCATE' supprime toutes les données dans le tableau et' WHERE' est pas pris en charge par DB2. Vous pouvez faire 'DELETE FROM test_schema.table_name_abc OÙ partition_date = 20150810' –

+0

@data_henrik J'ai essayé aussi, mais il des erreurs sur ' db2 "supprimer test_schema.table_name_abc où partition_date = 20150515"; ' DB21034E La commande a été traitée comme une instruction SQL, car il ne s'agissait pas d'une commande de ligne de commande valide. Au cours du traitement SQL, il renvoyait: SQL0150N La sélection de cible complète, la vue, la table typée, la table de requête matérialisée, la table en cluster ou la table de transfert dans les instructions INSERT, DELETE, UPDATE, MERGE, ou TRUNCATE est une cible pour laquelle le l'opération demandée n'est pas autorisée. SQLSTATE = 42807 –

+0

downvote? S'il vous plaît, expliquez –

Répondre

0

résolu en utilisant la commande suivante

db2 "ALTER TABLE test_schema.table_name_abc DROP PARTITION (partition_date = 20150515)";

Ajouter comme réponse juste au cas où quelqu'un en a besoin