急!急!急!根据excel表中的数据更新plsql数据库表,在线等

tb7189506 2012-02-16 09:30:59
根据excel表中的数据,数据库表assetcontent中没有的记录要进行添加,有的就不需要管,大概要加的有300来条,求sql语句
...全文
297 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
20804036 2012-03-01
  • 打赏
  • 举报
回复
外部表的使用:


C:\Windows\System32>rd F:\oetdir
C:\Windows\System32>mkdir F:\oetdir
SQL> create directory testoetdir as 'F:\oetdir';
SQL> grant read on directory testoetdir to user_name;
SQL> grant write on directory testoetdir to user_name;
SQL> edit oet01.sql
写入如下内容:
create table OET01
(
c1 VARCHAR2(30),
c2 NUMBER(8),
.....
)
organization external
(
type ORACLE_LOADER
default directory TESTOETDIR
access parameters
(
records delimited by newline
fields terminated by ' '
)
location (TESTOETDIR:'oet01.txt')
);
SQL> @oet01.sql

SQL> select * from oet01;
.....
.....
.....
tb7189506 2012-02-16
  • 打赏
  • 举报
回复
弱弱的问两句:怎样将excel的数据导入到plsql的临时表呢,它们怎么关联。它们的sql语句是什么啊
ICE-word 2012-02-16
  • 打赏
  • 举报
回复
根据你EXECL的数据,在你的数据创建个临时表,然后用这个临时表跟你的assetcontent关联进行插入就可以了~
tb7189506 2012-02-16
  • 打赏
  • 举报
回复
2楼的能不能再具体点呢
tb7189506 2012-02-16
  • 打赏
  • 举报
回复
能不能再具体点呢2楼的
mingchaoyan 2012-02-16
  • 打赏
  • 举报
回复
同学,用外部表来干这个是最合适不过的了
我心飞翔 2012-02-16
  • 打赏
  • 举报
回复
可以换个思路。
先在数据库中建立一个与目标表(假设为A)结构一样的表B。

然后使用PL/SQL将excel中的数据一次性导入到表B中。

然后对A, B表进行Merge操作。
可以参考下在的Merge语句来编写你的Merge语句

CREATE TABLE T124
(
ID NUMBER(4),
F1 VARCHAR2(20),
F2 VARCHAR2(20)
);
INSERT INTO T124 VALUES(1, 'A', 'AA');
INSERT INTO T124 VALUES(2, 'B', 'BB');
INSERT INTO T124 VALUES(3, 'C', 'CC');

MERGE INTO T124 t1
USING T125 t2
ON (t1.ID = t2.ID)
WHEN MATCHED THEN
UPDATE SET t1.F1 = t2.F2,
t1.F2 = t2.F2
WHEN NOT MATCHED THEN
INSERT VALUES(t2.ID, t2.F1, t2.F2)


ICE-word 2012-02-16
  • 打赏
  • 举报
回复
PL/SQL有导入工具,或者用最土的方法直接把EXECL里面的数据直接复制粘贴到表里面!~

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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