2010-04-03 5 views
1

J'essaie de déclarer g_num, nombre type de données avec la taille, il donne une erreur, mais dans le cas de varchar2, char il ne le fait pas.Variable déclarée avec un mot clé variable dans sql plus (oracle 9i)?

variable g_name varchar2(5);//correct accept size for varchar 2 
variable g_num number(23);//Gives an error 

    " VAR[IABLE] [ <variable> [ NUMBER | CHAR | CHAR (n [CHAR|BYTE]) | 
       VARCHAR2 (n [CHAR|BYTE]) | NCHAR | NCHAR (n) | 
       NVARCHAR2 (n) | CLOB | NCLOB | REFCURSOR ] ]" 

Veuillez nous suggérer!

Répondre

4

La réponse est déjà dans votre message d'erreur: NUMBER ne permet pas une précision dans SQL * Plus.

VARIABLE g_num NUMBER; 

fonctionne. Il s'agit d'un list with valid variable declarations dans SQL * Plus.

Le documentation dit:

NUMÉRO
Crée une variable de type NUMBER avec longueur fixe.


Malheureusement, je ne sais pas pourquoi vous ne pouvez pas spécifier la précision avec SQL * Plus, mais j'ai été en mesure de stocker 1.0E+125 avec mes tests.

Pour quoi avez-vous besoin de précision?

Questions connexes