Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como inserir uma string longa no tipo de dados CLOB no Oracle


Um exemplo simples é dado abaixo para inserir uma longa string no tipo de dados CLOB no Oracle. Você não pode inserir dados diretamente no tipo de dados CLOB, você deve usar a função Empty_Clob() com a cláusula de retorno na instrução insert e usar dbms_lob.write procedimento para escrever os dados. Porque se você tentar inserir diretamente uma string longa na coluna CLOB, receberá ORA-01704:string literal too long error ao inserir os dados.

Aqui está o exemplo de bloco PL SQL para inserir uma string longa em uma tabela com coluna CLOB.

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

DBMS_LOB.write (v_clob,
LENGTH ('forneça alguma string longa aqui'),
1,
'forneça alguma string longa aqui');
COMMIT;
END;[/código]