Pro*C を使用してテーブル Registred_Customer に値を挿入しているときに、「Execute-984 ORA-00984: column not allowed here」というエラーが表示されます。
Registered_Customer は次のように定義されます。
CREATE TABLE Registred_Customer (
Cust_id NUMBER(6) PRIMARY KEY,
Name VARCHAR2(20) NOT NULL,
Age NUMBER,
Sex CHAR,
Addr VARCHAR2(50),
Contact NUMBER(10)
);
pro*c メソッドを使用した値の挿入
addCustomer(i, name,age, gender, address,contectNo);
Pro*C メソッドでは、次のコードを使用して挿入します
EXEC SQL INSERT INTO REGISTRED_CUSTOMER VALUES
(cust_id, cust_name, age, sex, addr, contact);
ここで cust_name と addr は char *; です。sex は int としての char 残りです。
変数の使用中にエラーが報告されますが、次のような直接値を使用すると正常に機能しますEXEC SQL INSERT INTO REGISTRED_CUSTOMER VALUES (10, 'Pankaj', 23, 'M', 'asdfs', 45875);
いくつかの行を変更しようとしましたが、無駄でした。
前もって感謝します。