Il y a un grand article sur truncating, voici l'essentiel des choses DB2
suit presque la norme. (Depuis la version 9.7) DB2 exige que le mot-clé IMMEDIATE ajouter la l'instruction TRUNCATE TABLE ordinaire, par exemple :
TRUNCATE TABLE someschema.sometable IMMEDIATE
TRUNCATE TABLE doit être la première instruction d'une transaction. Une transaction commençant par TRUNCATE TABLE peut inclure d'autres instructions, mais si la transaction est annulée, l'opération TRUNCATE TABLE n'est pas annulée. DB2s L'opération TRUNCATE TABLE comporte un certain nombre d'arguments facultatifs. Pour plus d'informations, reportez-vous à la documentation. en particulier, l'argument REUSE STORAGE peut être important pour les tâches ad hoc DBA. Dans les versions DB2 < 9.7, vous pouvez utiliser abusivement l'instruction IMPORT. Malheureusement, vous devez savoir quel système d'exploitation de la commande est exécutée à partir pour que cela fonctionne:
Sur les systèmes unix-like: IMPORT/dev/null DE DEL REMPLACER EN tablename Sous Windows: IMPORTATION DE NUL DE DEL REPLACE INTO nom de table IMPORT ne peut pas être utilisé dans tous les contextes. Par exemple, lorsque vous travaillez avec SQL dynamique (de Java/.NET/PHP /...- ne pas utiliser le processeur de ligne de commande db2), vous devez envelopper la commande IMPORT dans un appel à ADMIN_CMD, par exemple:
CALL ADMIN_CMD('IMPORT FROM /dev/null OF DEL REPLACE INTO tablename')
IMPORT semble être autorisé dans une transaction impliquant d'autres opérations, mais cela implique une opération COMMIT immédiate.
La commande ALTER TABLE peut également être abusé de vider rapidement une table, mais il faut plus de privilèges, et peut causer des problèmes avec la récupération aval.
Cela a été pris sur le site Web: http://troels.arvin.dk/db/rdbms/#bulk-truncate_table-db2
Quelle version de DB2 exécutez-vous? –