Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment insérer une longue chaîne dans le type de données CLOB dans Oracle

Un exemple simple est donné ci-dessous pour insérer une longue chaîne dans le type de données CLOB dans Oracle. Vous ne pouvez pas insérer de données directement dans le type de données CLOB, vous devez utiliser la fonction Empty_Clob() avec la clause de retour dans l'instruction d'insertion, puis utiliser dbms_lob.write procédure d'écriture des données. Parce que si vous essayez d'insérer directement une longue chaîne dans la colonne CLOB, vous obtiendrez ORA-01704 :erreur de chaîne littérale trop longue lors de l'insertion des données.

Voici l'exemple de bloc PL SQL pour insérer une longue chaîne dans une table ayant une colonne CLOB.

[code type="SQL"] DECLARE
v_clob   CLOB ;
COMMENCER
INSERT INTO A_CLOB_TABLE (srlno, c_data)
VALUES (123, EMPTY_CLOB ())
RETURNING c_data
DANS v_clob;

DBMS_LOB.write (v_clob,
LENGTH ('fournir une longue chaîne ici'),
1,
'fournir une longue chaîne ici');
COMMIT;
FIN;[/code]