Oracle 对象类型和对象表

Oracle Object Type and Object Table

提问人:Muhammad Shoaib 提问时间:10/2/2022 最后编辑:William RobertsonMuhammad Shoaib 更新时间:10/2/2022 访问量:448

问:

我创建了一个对象类型和一个表。我想知道如何对其进行选择、插入、更新和删除操作。

create table employee_info (
  empid number,
  emp_name varchar2(50),
  department varchar2(20),
  designation varchar2(50),
  salary number
);

create type employee_info_obj is object (
  empid number,
  department varchar2(50),
  designation varchar2(50),
  salary number
);

create type employee_info_obj_t is
table of employee_info_obj ;
Oracle PLSQL 对象类型

评论

1赞 astentx 10/2/2022
这回答了你的问题吗?在 Oracle SQL 中将值插入对象表时,如何声明嵌套对象?

答:

0赞 William Robertson 10/2/2022 #1

您只创建了一个对象类型和一个不相关的数据库表。如果需要基于类型的数据库表,则需要创建一个:

create table employee_info of employee_info_obj;

虽然在某些编程场景中将类型同步到表可能很好,但也有一些缺点,例如以后添加列更难,以及第三方工具支持,因为对象表不会列在 和 中,因此我会质疑这种方法的有用性。user_tablesuser_object_tablesuser_all_tables

dbFiddle

评论

0赞 Muhammad Shoaib 10/3/2022
实际上,我正在从微服务中获取数据,喜欢更新部门 number.so 如何更新。你能进一步解释一下吗?
0赞 William Robertson 10/3/2022
您是否在问如何更新表?
0赞 Muhammad Shoaib 10/4/2022
是的,不仅可以更新,还可以选择、插入和删除。
0赞 William Robertson 10/4/2022
update employee_info set department = 'SALES' where empid = 1234;
0赞 Muhammad Shoaib 10/4/2022
我想你没有从上面理解。我需要通过对象表进行更新。