其实很简单自定义结构 type1 (Code varchar2(10), Name varchar2(20))
表Tab1 有字段 F1 Type1,F2 varchar2(20)
可以这样写 Select * From Tab1但是我想显示 F1.Code,F2 如何写 Select F1.Code,F2 From Tab1 是错误的谁知道什么实现我的查询?
----别告诉我把表设计成3个字段 Code varchar2(10), Name varchar2(20),F2)
表Tab1 有字段 F1 Type1,F2 varchar2(20)
可以这样写 Select * From Tab1但是我想显示 F1.Code,F2 如何写 Select F1.Code,F2 From Tab1 是错误的谁知道什么实现我的查询?
----别告诉我把表设计成3个字段 Code varchar2(10), Name varchar2(20),F2)
解决方案 »
- sql优化问题
- t_order_list 表的sex字段 为0和1 表t_ddw 中的 DD_ITEM_CODE (0,1)和 DD_ITEM_NAME(男和女)
- 求助 OCI BLOB 存取
- sql语句查询
- 急 ORACLE 测试 没有反应
- 请问是in()括号中不能超过1000个条件吗?
- 如何用存储过程通过传入参数动态创建视图
- utl_file.fopen('C:/','aaa.txt','w');提示路径无效,这是为什么?
- 怎么select f_js_jsno.nextval from dual总是出错?
- 高分求解:oracle 12c 误删了一个表,如何通过rman备份策略和对应生成的备份文件恢复数据?
- oracle中有没有记录"表结构"的系统表?
- 急!!!请教高手!!!
还是有点问题,如果 type1 ("code" varchar2(10), "name" varchar2(20))这样select p.f1.code,p.f2 from tab1 p;就会报错
select p.f1."code",p.f2 from tab1 p;也会报错
SQL> CREATE OR REPLACE TYPE TYPE1
2 AS OBJECT("code" varchar2(10),"name" varchar2(20));
3 /类型已创建。SQL> CREATE TABLE TAB1(
2 F1 TYPE1,
3 F2 VARCHAR2(10)
4 );表已创建。SQL> BEGIN
2 INSERT INTO TAB1 VALUES(TYPE1('CODE1','NAME1'),'V1');
3 INSERT INTO TAB1 VALUES(TYPE1('CODE2','NAME2'),'V2');
4 INSERT INTO TAB1 VALUES(TYPE1('CODE3','NAME3'),'V3');
5 COMMIT;
6 END;
7 /PL/SQL 过程已成功完成。SQL> SELECT P.F1."code", P.F2 FROM TAB1 P;F1.code F2
---------- ----------
CODE1 V1
CODE2 V2
CODE3 V3已选择3行。
select p.f1."Code",p.f2 from tab1 p; -- 是"Code",不是"code"