2009-11-20 4 views
1

Un type de données non valide est retourné lorsque j'émets commande suivante:Oracle10g XE: Pourquoi PLS_INTEGER ne peut pas être un type de colonne

CREATE TABLE msg_info (
    msgcode PLS_INTEGER, 
    msgtype VARCHAR2(30), 
    msgtext VARCHAR2(2000), 
    msgname VARCHAR2(30), 
    description VARCHAR2(2000) 
    ); 

Je l'ai découvert est résulté de msgCode PLS_INTEGER, suppression de cette colonne fera avec succès la création.

Est-ce une restriction XE? Merci.

Répondre

3

PLS_INTEGER est un type PL/SQL uniquement. Il ne peut pas être utilisé dans les tables SQL/DDL-at-large.

Je pense qu'il faut déclarer la colonne comme type NUMBER et, lors de la récupération des données, utiliser le type PLS_INTEGER au niveau de PL/SQL.

Voir Oracle Datatypes

0

Essayez BINARY_INTEGER - il est identique et peuvent être utilisés de façon interchangeable avec PLS_INTEGER

link

+0

Cette réponse ne fonctionne pas – Superdooperhero

Questions connexes