当前位置:数据库 > Excel >>

SQL语句把EXCEL导入PL/SQL

我知道的方法 先SELCT * FORM TABLENAME FOR UPDATE 然后把数据直接复制进来,但表主键是在Sequences调.nextval 自动生成,粘贴提交的话,主键就为空,这个该怎么解决呢?
追问:以前已经建立过序列,insert时调用.NEXTVAL可以自动生成插入,但是数据过多,从Excel复制的 for update应该怎么写这个主键呢?
答案:写一个触发器实现自增长:
 
比如表名:tab,主键为:id
1. 增加一个序列号: create sequence seq_tab
2. 增加一个触发器,如果是insert,则取序列号值,赋予主键列
CREATE OR REPLACE TRIGGER TRI_tab
BEFORE INSERT ON tab FOR EACH ROW 
DECLARE
-- LOCAL VARIABLES HERE 
BEGIN
IF :NEW.id IS NULL THEN 
SELECT SEQ_tab.NEXTVAL INTO :NEW.id FROM DUAL; 
END IF; 
END TRI_tab;
其他:用textImport功能,里面可以设置主键取sequence 

上一个:PL/SQL的 "COPY TO EXCEL "功能时候,excel中中文数据乱码,求解
下一个:2007 Excel导入Oracle,最多能导入多少条数据,数据最大为多少KB???

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,