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:数据类型不一致:预期 NUMBER 得到 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可能不应该与 type 的名称匹配customer_name

于 2012-04-22T05:38:32.933 回答