L'EXPORTATION, COMME les ÉTATS d'INSERTION: Mais dans SQL Plus la ligne remplace 2500 caractères!

J'ai à l'exportation d'une table Oracle comme les ÉTATS d'INSERTION.

Mais les INSTRUCTIONS d'INSERTION ainsi généré, remplacer 2500 caractères.

Je suis obligé de les exécuter dans SQL Plus, donc, je reçois un message d'erreur.

C'est ma table Oracle:

CREATE TABLE SAMPLE_TABLE
(
   C01   VARCHAR2 (5 BYTE) NOT NULL,
   C02   NUMBER (10) NOT NULL,
   C03   NUMBER (5) NOT NULL,
   C04   NUMBER (5) NOT NULL,
   C05   VARCHAR2 (20 BYTE) NOT NULL,
   c06   VARCHAR2 (200 BYTE) NOT NULL,
   c07   VARCHAR2 (200 BYTE) NOT NULL,
   c08   NUMBER (5) NOT NULL,
   c09   NUMBER (10) NOT NULL,
   c10   VARCHAR2 (80 BYTE),
   c11   VARCHAR2 (200 BYTE),
   c12   VARCHAR2 (200 BYTE),
   c13   VARCHAR2 (4000 BYTE),
   c14   VARCHAR2 (1 BYTE) DEFAULT 'N' NOT NULL,
   c15   CHAR (1 BYTE),
   c16   CHAR (1 BYTE)
);

HYPOTHÈSES:

a) je suis OBLIGÉ d'exporter les données de la table comme les ÉTATS d'INSERTION; je suis autorisé à utiliser mise à JOUR des déclarations, afin d'éviter le SQL*Plus d'erreur "sp2-0027 d'entrée est trop long(>2499 caractères)";

b) je suis OBLIGÉ d'utiliser SQL*Plus pour exécuter le script, de sorte généré.

c) supposons que chaque dossier peut contenir des caractères spéciaux: CHR(10), CHR(13), et ainsi de suite;

d) je ne PEUX PAS utiliser SQL Loader;

e) je ne PEUX PAS exporter et d'importer la table: je peux seulement ajouter de la "delta" à l'aide de l'INSERTION /mise à JOUR des déclarations par le biais de SQL Plus.

Un point n'est pas clair, et c'est important. Vous disposez de tous les insertions, mises à jour où le valeur de c13 dépasse 2499 personnages? Ou, avez-vous tout simplement avoir quelques états où la longueur de la dépasse 2499 caractères? (L'ancien est difficile, ce dernier est facile à corriger)
La réponse est la suivante: Dans ma table Oracle appelé SAMPLE_TABLE, j'ai 80 dossiers où la longueur de la C13 champ, de type VARCHAR2(4000), est 3762 caractères. Cela signifie que, bien sûr, la VALEUR de C13 dépasse 2499 caractères. Dans ce cas, nous pouvons observer que la longueur de l'ÉNONCÉ dépasse 2499 personnages, trop.
le poulet dans la cuisine - Ce qui est la clé primaire de la table de destination?
Veuillez supposons que la table source et la table de destination n'ai PAS de clé primaire.
Vous ne connaissez que le champ C13 a, parfois, des valeurs qui atteignent 4000 caractères.

OriginalL'auteur UltraCommit | 2010-04-29