oracle92中如何创建类型,类型和物理表的结果一样

gshuhugs 2010-09-01 06:13:15
各位好
我想创建一个类型(type),和物理表的结构一样,怎么写?

我尝试这样写,但是出错:dt_alarminfo是一张实际表
create type t_alarm is table of dt_alarminfo;
或者create type t_alarm is table of dt_alarminfo%rowtype;


提示如下信息:CONSUMER是用户名
PLS-00329: 方案级类型非法引用 CONSUMER.DT_ALARMINFO


请不吝指正。
...全文
183 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyong804 2012-09-11
  • 打赏
  • 举报
回复
我也遇到这样的问题,求解!!!!
minitoy 2010-09-02
  • 打赏
  • 举报
回复
呵呵,用plsql developer+ue,字段多点处理起来也不麻烦.
gshuhugs 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wkc168 的回复:]
引用楼主 gshuhugs 的回复:
各位好
我想创建一个类型(type),和物理表的结构一样,怎么写?

我尝试这样写,但是出错:dt_alarminfo是一张实际表
create type t_alarm is table of dt_alarminfo;
或者create type t_alarm is table of dt_alarminfo%rowtype;


提示……
[/Quote]
您提出的这种方式是可以的,由于字段很多,而且都是有用的,所以才想“走捷径”,呵呵。
gshuhugs 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 robin_ares 的回复:]
你的t_alarm
是不是已经用了
比如函数,过程,表名什么的
[/Quote]
没有名字没有被占用,呵呵
robin_ares 2010-09-01
  • 打赏
  • 举报
回复
你的t_alarm
是不是已经用了
比如函数,过程,表名什么的
minitoy 2010-09-01
  • 打赏
  • 举报
回复
然后
CREATE OR REPLACE TYPE email_list_typ3 AS TABLE OF email_list_typ2
心中的彩虹 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 gshuhugs 的回复:]
各位好
我想创建一个类型(type),和物理表的结构一样,怎么写?

我尝试这样写,但是出错:dt_alarminfo是一张实际表
create type t_alarm is table of dt_alarminfo;
或者create type t_alarm is table of dt_alarminfo%rowtype;


提示如下信息……
[/Quote]


--直接来是不行的 必须先建个这样的类型
SQL> create or replace type t_alarm_type is object
2 ( id varchar2(20),
3 name varchar2(10)
4 )
5 /

类型已创建。

SQL> edi
已写入 file afiedt.buf

1* create or replace type t_alarm_type_tb is table of t_alarm_type
SQL> /

类型已创建。



minitoy 2010-09-01
  • 打赏
  • 举报
回复
好像是不成.
还是用这种吧.
CREATE TYPE email_list_typ2 AS OBJECT (
section_no NUMBER,
emails email_list_arr);
gshuhugs 2010-09-01
  • 打赏
  • 举报
回复
是在当前用户下的,consumer用户具有DBA权限
robin_ares 2010-09-01
  • 打赏
  • 举报
回复
语句看不出什么问题
表在当前用户下么,有没有创建type的权限

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧