您的很多问题,我感觉都没描述的太清楚。
最好是代码+描述,不要总是来一句“书上说”,大家又没看过你看的书,当然不好回答了。
在说说这个问题,与其要删除所有的重复记录,不如使用distinct关键字,消除重复后,新建立一张表。
首先,在Oracle中建立一张表,temp:[code=sql]CREATE TABLE temp(
empno varchar(20),
ename varchar(20),
sal number(7,2)
);[/code]然后,将emp表中的数据复制3份到temp表中:[code=sql]INSERT INTO temp
SELECT empno,ename,sal
FROM emp;[/code]把这个代码执行3遍,那么现在temp表中,就存放了3份emp表中的数据了。
接着,再创建一个表,tempDis和它temp表具有相同的字段:[code=sql]CREATE TABLE tempDis(
empno varchar(20),
ename varchar(20),
sal number(7,2)
);[/code]接着,执行如下代码:[code=sql]INSERT INTO tempDis
SELECT distinct empno,ename,sal
FROM temp[/code]最后,将temp表删掉,然后将tempDis再改一下名字,就可以了。
虽然稍微麻烦点,但是也能解决问题。 oracle中的存储过程等,我还不会,所以没法用那个东西回答您的问题。
SQL server2005的存储过程、触发器、自定义函数,我却有所研究,有兴趣咱们可以讨论一下。哈哈。 |