日期:2014-05-17  浏览次数:20858 次

SQL语句转换成orcle语句的问题!
如题,
目前工作需要使用的SQL处理程序,大体步骤是利用sql的外部bat命令将ACCESS数据库导入sql数据库,进行处理后转出到excle文件。我想转换成orcle能使用的,请帮忙看看如何修改呢
语句如下:
use work
SELECT s1,s2,s3,s4,s5,s6,s7,s10,s11
INTO t1
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 
  'Data Source="c:\c.mdb";User ID=Admin;Password=' )...t1 where s10 like '20120202%'
go

use work
SELECT *
INTO t2
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 
  'Data Source="c:\c.mdb";User ID=Admin;Password=' )...t2 
where rq>'2012-2-2 00:00:00.000'and rq<'2012-2-2 23:59:59.000'
/*注意此处如果日期为单数,那么前面不用加0,比如2009-8-9*/
go

use work
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\证书查询数据.xls',sheet1$)(单位名称,联系人,联系电话,查询单位,查询时间)
select sqz,lxr,lxdh,cxdw,rq from work..t2
go 

use work
SELECT *
INTO doublecert_update_policy
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 
  'Data Source="c:\c.mdb";User ID=Admin;Password=' )...doublecert_update_policy
go

use work
SELECT *
INTO bill
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 
  'Data Source="c:\c.mdb";User ID=Admin;Password=' )...bill
go

use work
select sn,count(sn) as numcf into cftbl
from bill
group by sn
having count(sn)>1 
order by sn

use work
SELECT substring(s10,15,32)as sn32,t1.* into tbl
FROM t1 
go

use work
alter table tbl
add payamount float null
go

use work
update tbl set payamount = 
(
select top 1 payamount from bill 
where tbl.sn32=bill.sn
)
go

use work
select * into cfcheck
from tbl join cftbl
on tbl.sn32=cftbl.sn
go 

use work
SELECT tbl.s1,s2,s3,s4,s5,s6,s7,s10,payamount into tbl01
FROM tbl
where tbl.s11 like '%yes%' 
go

use work
alter table tbl01
add cert_status nvarchar(255) null
go

use work
alter table tbl01
add signcertsn nvarchar(255) null
go

use work
alter table tbl01
add newcertsn nvarchar(255) null
go

use work
update tbl01 set newcertsn= 
(
select top 1 newcertsn from doublecert_update_policy
where tbl01.s7=doublecert_update_policy.signcertsn
)
go

use work
update tbl01 set signcertsn = 
(
select top 1 signcertsn from doublecert_update_policy 
where tbl01.s7=doublecert_update_policy.signcertsn
)
go

use work
update work..tbl01 set cert_status = 
(
select top 1 cert_status from ra..cert 
where work..tbl01.newcertsn=ra..cert.certsn
)
go

use work
alter table tbl01
add signcertsnisnull nvarchar(255) null
go

use work 
update tbl01 set signcertsnisnull='yes'
from tbl01
where tbl01.signcertsn is null and newcertsn is null
go

use work
select * into tbl03
from tbl01
where tbl01.newcertsn is null
go

use work
alter table tbl03
add countofupdatedays decimal(9) null
go

use work
alter table tbl03
add updateflag decimal(9) null
go

use work 
update tbl03 set countofupdatedays='396'
go

use work 
update tbl03 set updateflag='1'
go

use work
INSERT INTO ra..doublecert_update_policy (signcertsn,countofupdatedays,updateflag)
SELECT s7,countofupdatedays,updateflag
FROM tbl03
where work..tbl03.signcertsnisnull='yes'
go

use work
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\网上数据表单.xls',tbl01$