Campo Texto

#85074
Avatar de Rodrigo AlmeidaRodrigo Almeida
Participante

Thunder!

É verdade cara! Tinha me esquecido dessas passagens. VARCHAR2 em tabela vai até 4K e em PL/SQL até 32K. Está correto mesmo!

Fiz uns testes aqui de besta, e deu para percerber a diferença!


SQL> ed
Gravou file afiedt.buf

1 declare
2 teste varchar2(32767);
3 begin
4 teste := LPAD('RODRIGO',32767,'0');
5 dbms_output.put_line ('Tamanho:' || length(teste));
6* end;
SQL> /
Tamanho:32767

Procedimento PL/SQL concluÝdo com sucesso.

SQL> create table TST (a varchar2(32000));
create table TST (a varchar2(32000))
*
ERRO na linha 1:
ORA-00910: specified length too long for its datatype

SQL> create table TST (a varchar2(4000));

Tabela criada.

SQL> alter table TST modify a varchar2(4001);
alter table TST modify a varchar2(4001)
*
ERRO na linha 1:
ORA-00910: specified length too long for its datatype

SQL> alter table TST modify a varchar2(4000);

Tabela alterada.

Abraços,
Rodrigo Almeida[/code]

plugins premium WordPress