谁能帮忙把下面段SYBASE的SQL翻译成ORACLE,我参看下,感激不尽~
Create Procedure ZfWspz
@ID Integer,
@TaxerCode Integer
AS
declare @PayerType varchar(1)
declare @pcCode Integer
declare @Name varchar(20)
declare @IDCardCode varchar(20)
declare @Pzhm Integer
select @Pzhm=(select Pzhm from PayedTaxCredenceBook where ID=@ID)
select @PayerType=(select PayerType from PayedTaxCredenceBook where ID=@ID )
select @pcCode=(select pcCode from PayedTaxCredenceBook where ID=@ID)
select @Name=(select Name from PayedTaxCredenceBook where ID=@ID)
select @IDCardCode=(select IDCardCode from PayedTaxCredenceBook where ID=@ID)
if @PayerType='N'
begin
Update WHTaxpayerTaxBook
Set Flags=Flags-8
From WHTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.IDCardCode=@IDCardCode
AND Flags & 8 =8
end
if @PayerType='P'
begin
Update PivotTaxpayerTaxBook
Set Flags=Flags-8
From PivotTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.IDCardCode=@IDCardCode
AND Flags & 8 =8
end
if @PayerType='F' begin
Update ForeignTaxpayerTaxBook
Set Flags=Flags-8
From ForeignTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.PassCode=@IDCardCode AND Flags & 8 =8
end
if @Pzhm=0
begin
delete from PayedTaxCredenceBookDetail where PID=@ID
delete from PayedTaxCredenceBook where ID=@ID
end
else
begin
Update PayedTaxCredenceBook
Set Re='作废('+convert(varchar(10),@TaxerCode)+')'+Convert(varchar(20),GetDate()),
IsDestroy=1
where ID=@ID
end
go
Create Procedure ZfWspz
@ID Integer,
@TaxerCode Integer
AS
declare @PayerType varchar(1)
declare @pcCode Integer
declare @Name varchar(20)
declare @IDCardCode varchar(20)
declare @Pzhm Integer
select @Pzhm=(select Pzhm from PayedTaxCredenceBook where ID=@ID)
select @PayerType=(select PayerType from PayedTaxCredenceBook where ID=@ID )
select @pcCode=(select pcCode from PayedTaxCredenceBook where ID=@ID)
select @Name=(select Name from PayedTaxCredenceBook where ID=@ID)
select @IDCardCode=(select IDCardCode from PayedTaxCredenceBook where ID=@ID)
if @PayerType='N'
begin
Update WHTaxpayerTaxBook
Set Flags=Flags-8
From WHTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.IDCardCode=@IDCardCode
AND Flags & 8 =8
end
if @PayerType='P'
begin
Update PivotTaxpayerTaxBook
Set Flags=Flags-8
From PivotTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.IDCardCode=@IDCardCode
AND Flags & 8 =8
end
if @PayerType='F' begin
Update ForeignTaxpayerTaxBook
Set Flags=Flags-8
From ForeignTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=@ID And A.Y12M=B.Y12M
AND A.Name=@Name AND A.pcCode=@pcCode AND A.PassCode=@IDCardCode AND Flags & 8 =8
end
if @Pzhm=0
begin
delete from PayedTaxCredenceBookDetail where PID=@ID
delete from PayedTaxCredenceBook where ID=@ID
end
else
begin
Update PayedTaxCredenceBook
Set Re='作废('+convert(varchar(10),@TaxerCode)+')'+Convert(varchar(20),GetDate()),
IsDestroy=1
where ID=@ID
end
go
解决方案 »
- 小白 请教一个问题
- 建表空间不建在oracle硬盘目录下可以吗
- oracle数据库因为业务需要增量更新,问下,在这种情况下,如何做备份呢?
- 数据库怎么实现组合索引呢?
- 导入dmp文件之前要做哪些操作?
- ora92如何性能调优?
- 安装了好几次Oracle92,服务里都没有OracleOraHome92ManagementServer,急?
- oracle8 安装问题
- 急问,我把一台机子的Oracle客户端81升到92客户端,升级会不会出现问题?
- 急!orcale中的clob字段内容如何取到??在线等.....
- v$sysstat,v$license,v$resource_limit相关问题
- 为什么会这样?
AS
PayerTypeP varchar(1) ;
pcCodeP number ;
NameP varchar(20) ;
IDCardCodeP varchar(20) ;
PzhmP Integer ;
begin
select Pzhm into PzhmP from PayedTaxCredenceBook P where P.ID=ID;
--select @Pzhm=(select Pzhm from PayedTaxCredenceBook where ID=@ID)
select PayerType into PayerTypeP from PayedTaxCredenceBook P where P.ID=ID ;
--select @PayerType=(select PayerType from PayedTaxCredenceBook where ID=@ID )
select pcCode into pcCodeP from PayedTaxCredenceBook P where P.ID=ID
--select @pcCode=(select pcCode from PayedTaxCredenceBook where ID=@ID)
select Name into NameP from PayedTaxCredenceBook P where P.ID=ID;
--select @Name=(select Name from PayedTaxCredenceBook where ID=@ID)
select IDCardCode into IDCardCodeP from PayedTaxCredenceBook P where P.ID=ID;
--select @IDCardCode=(select IDCardCode from PayedTaxCredenceBook where ID=@ID)
if PayerType='N' then
Update WHTaxpayerTaxBook
Set Flags=Flags-8
From WHTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=ID And A.Y12M=B.Y12M
AND A.Name=Name AND A.pcCode=pcCode AND A.IDCardCode=IDCardCode
AND Flags & 8 =8 ;
end if;
if PayerType='P' then
Update PivotTaxpayerTaxBook
Set Flags=Flags-8
From PivotTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=ID And A.Y12M=B.Y12M
AND A.Name=Name AND A.pcCode=pcCode AND A.IDCardCode=IDCardCode
AND Flags & 8 =8 ;
end if;
if PayerType='F' then
Update ForeignTaxpayerTaxBook
Set Flags=Flags-8
From ForeignTaxpayerTaxBook A,PayedTaxCredenceBookDetail B
where B.PID=ID And A.Y12M=B.Y12M
AND A.Name=Name AND A.pcCode=pcCode AND A.PassCode=IDCardCode AND Flags & 8 =8 ;
end if;
if @Pzhm=0 then
delete from PayedTaxCredenceBookDetail where PID=@ID ;
delete from PayedTaxCredenceBook where ID=@ID ;
end
else
Update PayedTaxCredenceBook
Set Re='作废('+convert(varchar(10),@TaxerCode)+')'+Convert(varchar(20),GetDate()),
IsDestroy=1
where ID=@ID ;
end if;
end ZfWspz;
/
if @Pzhm=0 then
delete from PayedTaxCredenceBookDetail where PID=@ID ;
delete from PayedTaxCredenceBook where ID=@ID ;
end
else
Update PayedTaxCredenceBook
Set Re='作废('+convert(varchar(10),@TaxerCode)+')'+Convert(varchar(20),GetDate()),
IsDestroy=1
where ID=@ID ;
end if;
end ZfWspz;
中所有的带@变量也全部换成无@?