1
resposta

Como corrigir errro SP2-0552: Variável de binding "G_DESCRICAO" não declarada.

Estou executando o seguinte sprit utilizado na aula https://cursos.alura.com.br/course/oracle-pl-sql-procedures-funcoes-excecoes/task/110049 no Oracle SQL Developer:

VARIABLE g_DESCRICAO VARCHAR2(100); 
EXECUTE :g_DESCRICAO := OBTER_DESCRICAO_SEGMERCADO(3); 
PRINT g_DESCRICAO;

E está retornando o seguinte erro:

Uso: VAR[IABLE] [ <variável> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |
    VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
    NVARCHAR2 (n) | CLOB | NCLOB | BLOB | BFILE
    REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE ] ] 
Uso: VAR[IABLE] [ <variável> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) |
    VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) |
    NVARCHAR2 (n) | CLOB | NCLOB | BLOB | BFILE
    REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE ] ] 
SP2-0552: Variável de binding "G_DESCRICAO" não declarada.

SP2-0552: Variável de binding "G_DESCRICAO" não declarada.

Como faço para corrigir este erro?

Obrigado

1 resposta

Olá Luiz, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

O erro indica que a variável G_DESCRICAO não foi declarada. Note que na aula o professor reaproveita a estrutura referente a criação dessa variável para declarar a variável g_CATEGORIA, as linhas referentes a variável G_DESCRICAO, ele renomeia para g_CATEGORIA. Desta maneira, a variável que utilizaremos na função categoria_cliente será a g_CATEGORIA, então, não utilizaremos a G_DESCRICAO.

Logo, certifique que você renomeou todas as linhas para g_CATEGORIA.

O código referente a criação da variável ficará assim:

VARIABLE g_CATEGORIA VARCHAR2(100);
EXECUTE :g_CATEGORIA:=categoria_cliente(120000);
PRINT g_CATEGORIA;

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!