create or replace type cust_type as object( //对象类型
custid number(5),
name varchar(20),
address varchar(30));create tabale cust of CUST_TYPE(primary key(custid)); 创建对象表insert into cust values(1,'jack','shanghai'); //插入数据
insert into cust values(1,'peter','beijing');create or replace type goods_type as object( //另一对象
orderid number(3),
customer ref cust_type, //对象引用
gno number(3));
create table orders of ORDER_TYPE( //创建对象表
foreign key(customer) references cust,
primary key(orderid));
INSERT INTO orders VALUES (1 , (SELECT REF(c) FROM cust c where c.custid = 1) ,4);
INSERT INTO orders VALUES (2 , (SELECT REF(c) FROM cust c where c.custid = 2) ,44);
INSERT INTO orders VALUES (3 , (SELECT REF(c) FROM cust c where c.custid = 1) ,54);
INSERT INTO orders VALUES (4 , (SELECT REF(c) FROM cust c where c.custid = 1) ,64);
请问用sql语句如何写:
1 根据orders.orderid 检索cust表数据?
2 根据cust.custid 检索所有的order.orderid?
3 根据orders.orderid 更新ref对象(例如开始指向cust.custid=1 行,现在改成cust.custid=2)?
4 根据orders.orderid 更新ref对象列的数据
请问sql语句能否写,如果不能是否只有编写pl/sql程序呢?
custid number(5),
name varchar(20),
address varchar(30));create tabale cust of CUST_TYPE(primary key(custid)); 创建对象表insert into cust values(1,'jack','shanghai'); //插入数据
insert into cust values(1,'peter','beijing');create or replace type goods_type as object( //另一对象
orderid number(3),
customer ref cust_type, //对象引用
gno number(3));
create table orders of ORDER_TYPE( //创建对象表
foreign key(customer) references cust,
primary key(orderid));
INSERT INTO orders VALUES (1 , (SELECT REF(c) FROM cust c where c.custid = 1) ,4);
INSERT INTO orders VALUES (2 , (SELECT REF(c) FROM cust c where c.custid = 2) ,44);
INSERT INTO orders VALUES (3 , (SELECT REF(c) FROM cust c where c.custid = 1) ,54);
INSERT INTO orders VALUES (4 , (SELECT REF(c) FROM cust c where c.custid = 1) ,64);
请问用sql语句如何写:
1 根据orders.orderid 检索cust表数据?
2 根据cust.custid 检索所有的order.orderid?
3 根据orders.orderid 更新ref对象(例如开始指向cust.custid=1 行,现在改成cust.custid=2)?
4 根据orders.orderid 更新ref对象列的数据
请问sql语句能否写,如果不能是否只有编写pl/sql程序呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货