在用户定义的oracle类型中插入/更新/选择值

时间:2012-04-22 05:31:14

标签: oracle oracle10g user-defined-types

在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:数据类型不一致:预期NUMBER获得ADS.CUSTOMER_NAME

需要帮助!!

1 个答案:

答案 0 :(得分: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类型的名称匹配。