Pular para o conteúdo
#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