2

Oracleでユーザー定義型を作成する

CREATE OR REPLACE TYPE  "CUSTOMER_NAME" AS OBJECT(FIRST_NAME VARCHAR2(20),LAST_NAME VARCHAR2(20))
    /

テーブルにデータを挿入するために次のコードを使用しました。

 INSERT INTO STAFF_INFO(STAFF_NAME,STAFF_PWD) VALUES (CUSTOMER_NAME('" & fname.Text & "','" & lname.Text & "'),'" & password.Text & "')"

しかし、私がしようとしているとき

select STAFF_ID,STAFF_PWD,CUSTOMER_NAME(FIRST_NAME,LAST_NAME) from staff_info

エラーORA-00904を取得しています: "LAST_NAME": 無効な識別子

そして、私がこれを試しているとき

select * from staff_info

次に、このエラー ORA-00932: inconsistent datatypes: expected NUMBER got ADS.CUSTOMER_NAME が発生します

助けが必要 !!

4

1 に答える 1

3

目の前に Oracle インスタンスはありませんが、これは以前に扱ったことがあります。次のようなことをしなければならなかったことを思い出します:

select a.STAFF_ID,
       a.STAFF_PWD,
       a.STAFF_NAME.FIRST_NAME,
       a.STAFF_NAME.LAST_NAME
  from staff_info a;

フィールドcustomer_nameはおそらくタイプの名前と一致しないはずですがcustomer_name

于 2012-04-22T05:38:32.933 に答える