怎样批量插入嵌套表数据?

xdong1980 2009-07-08 05:32:13
CREATE OR REPLACE TYPE "DONGTEST"."PROJECTTREE" AS OBJECT (
"ID" NUMBER(6, 0),
"XUHAO_FLAG" NVARCHAR2(50),
"PK_DEPARTMENT" VARCHAR2(50),
"DEPARTMENT_NAME" VARCHAR2(200),
"DEPARTMENT_CODE" VARCHAR2(50),
"PK_PROJECT" VARCHAR2(50),
"PROJECT_NAME" VARCHAR2(200),
"PROJECT_CODE" VARCHAR2(50),
"PROJECT_YEAR" NUMBER(4) )

CREATE OR REPLACE TYPE DONGTEST.PROJECTTREEALL IS TABLE OF DONGTEST.PROJECTTREE

CREATE OR REPLACE FUNCTION dongtest.TFGetProjectTreeAll
(
Company in nvarchar2, --20 公司 15 分公司 10 项目部
UerId in nvarchar2--登录用户id


)
RETURN DONGTEST.PROJECTTREEALL
IS RESULT DONGTEST.PROJECTTREEALL :=DONGTEST.PROJECTTREEALL();

BEGIN
INSERT INTO RESULT
select
1,
1, -- 1 分公司,2年份 3项目
a.fk_department, --部门的主键
b.department_name, --部门的名称
b.Department_Code, --部门编号
a.pk_project , --项目主键
a.project_name , --项目名称
a.project_code , --项目编号
2009
from dongtest.pm_gh_project a
left outer join dongtest.platform_department b
on a.fk_department=b.department_oid


请大家指教


RETURN(RESULT);
END TFGetProjectTreeAll;
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-07-29
  • 打赏
  • 举报
回复
可以使用table()函数
inthirties 2009-07-29
  • 打赏
  • 举报
回复
直接insert into table1 select * from table(dongtest.TFGetProjectTreeAll);
inthirties 2009-07-29
  • 打赏
  • 举报
回复
INSERT INTO RESULT
select
1,
1, -- 1 分公司,2年份 3项目
a.fk_department, --部门的主键
b.department_name, --部门的名称
b.Department_Code, --部门编号
a.pk_project , --项目主键
a.project_name , --项目名称
a.project_code , --项目编号
2009
from dongtest.pm_gh_project a
left outer join dongtest.platform_department b
on a.fk_department=b.department_oid

这个没有编译没有错误么。

数组可以这样insert into来操作么。
V68V6 2009-07-28
  • 打赏
  • 举报
回复
up

17,137

社区成员

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

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