Comme mentionné précédemment, on utilise la même syntaxe pour insérer une valeur
chaîne dans une colonne CLOB, que celle qu'on utiliserait pour une colonne Character
ou VarChar. Par exemple :
Insert Into TestLob
Values( 1, 'x1', 'x2' )
On peut, bien entendu, utiliser des variables hôtes caractères. Pour
Insertion de valeurs CLOB
des valeurs
dont la longueur dépasse 64 Ko, on peut utiliser des expressions de concaténation
dans une instruction Insert en V4R5 (ou ultérieure), pour composer une valeur
à partir de variable hôtes multiples :
Insert Into TestLob
Values( :PkVar,
:Char1Var || Char2Var,
:Char3Var )
Avant la V4R5, l’instruction Insert n’admettait pas d’expression dans la clause
Values. Il fallait donc utiliser une instruction Update, comme la suivante, pour
effectuer la concaténation après insertion de la ligne :
Update TestLob
Set Clob1 = :Char1Var || :Char2Var
Where PkCol = :PkVar
Autre possibilité : utiliser une variable de référence de fichier, déclarée comme
décrit précédemment. Le code en M, figure 1, montre comment définir les sous-champs,
et l’instruction Insert en N montre comment la variable de référence de fichier
peut être utilisée dans une instruction Insert. SQL/400 copie tout le contenu
du fichier IFS et le stocke comme la valeur de colonne. Notons que SQL ne définit
pas le sous-champ _DL (CLOB1REF-DL, par exemple) sur une opération Insert.
Téléchargez cette ressource
Préparer l’entreprise aux technologies interconnectées
Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.