Traitement de fichiers en Sqldr et Merge
Bonjour,
Je sais que le sujet du les upadtes en sqlldr a déjà été traité, mais ma question ne porte pas sur cette partie là exactement.
1- Dans le fichier de controle les paramètres ci-dessous sont-ils obligatoire
Code:
1 2 3
|
DEFAULT DIRECTORY loader
LOCATION ('Nom fichier de données') |
Je passe déjà au sqlldr le nom du fichier de données par
Code:
1 2
|
DATA='Nom fichier de données' |
et je ne souhaite donc pas le remettre dans le fichier de contrôle (je fais du passage en paramètre). Idem pour le DIRECTORY. Je souhaite qu'il le fasse dans le repertoire courant.
2- J'ai créé mon fichier de controle dans lequel je fais toute l'étape de création et alimentation de la table externe.
J'ai aussi un fichier sql dans lequel j'ai mon merge.
Je souhaite savoir s'il est possible de mettre le code de mon merge dans le fichier de controle, sinon comment puis-je l'exécuter (depuis par exemple le fichier bat dans lequel se trouve ma commande sqlldr)?
3- Mon fichier de données a le premier champ qui est soit vide, soit vaut X et mon séparateur de champs est "Whitespace"(espace ou tabulation).
Mon problème est que lorsque le premier champ est vide il le considère comme un séparateur et prends le 2ème champ qui lui n'est jamais vide pour le premier.
Comment puis-je faire sachant que je ne souahite pas faire de prétraitement en shell ksh par exemple pour remplacer le premier champ par une valeur non vide. Par contre si c'est possible de le faire dans le sqlldr ou le fichier de controle, je veux bien.
4- AJouter dans mon fichier de control un champ qui n'existe pas dans le fichier de données et avec pour format AAAASS(Année Semaine)
Voilà voilà. J'espère avoir été clair et vous remercie d'avance de votre aide.