如题,小弟有个SQL的存储过程,想转换成Oracle的存储过程使用,但是对Oracle数据库不熟悉,请高手指点,谢谢。CREATE PROCEDURE sp_insert_calls
(
@CustomerID varchar(50)=NULL,
@ToAgentGroup nvarchar(32)=NULL,
@Direction smallint=1,
@Status smallint=1,
@RemoteNumber varchar(32)=NULL,
@LocalNumber varchar(32)=NULL,
@EIC_CallIDKey varchar(32)=NULL,
@IsInterCom smallint=1,
@CallID int output
)AS
insert into Calls (CallType,CustID,ToAgentGroup,Direction,Status,IsIntercom, RemoteId, LocalId, CallSeq)
values(1,rtrim(@CustomerID),rtrim(@ToAgentGroup) ,@Direction ,@Status,@IsInterCom,rtrim(@RemoteNumber),rtrim(@LocalNumber), rtrim(@EIC_CallIDKey))
SELECT @CallID=@@IDENTITY
(
@CustomerID varchar(50)=NULL,
@ToAgentGroup nvarchar(32)=NULL,
@Direction smallint=1,
@Status smallint=1,
@RemoteNumber varchar(32)=NULL,
@LocalNumber varchar(32)=NULL,
@EIC_CallIDKey varchar(32)=NULL,
@IsInterCom smallint=1,
@CallID int output
)AS
insert into Calls (CallType,CustID,ToAgentGroup,Direction,Status,IsIntercom, RemoteId, LocalId, CallSeq)
values(1,rtrim(@CustomerID),rtrim(@ToAgentGroup) ,@Direction ,@Status,@IsInterCom,rtrim(@RemoteNumber),rtrim(@LocalNumber), rtrim(@EIC_CallIDKey))
SELECT @CallID=@@IDENTITY
列名 数据类型 长度 允许空
CallID int 4 ←CallID字段索引,自增
CallType smallint 2 √
CallSeq varchar 50 √
.
.
.
create sequence seq_identity
minvalue 0
maxvalue 999999999999
start with 1
increment by 1;create or replace procedure
(
in_customerid varchar2 default null,
in_toagentgroup varchar2 default null,
in_direction number default 1,
in_remotenumber varchar2 default null,
in_localnumber varchar2 default null,
in_eic_callidkey varchar2 default null,
in_isintercom number default 1,
out_callid out number
)
as
begin
insert into calls (callid,calltype,custid,toagentgroup,direction,status,isintercom, remoteid, localid, callseq)
values(seq_identity.nextval, 1,rtrim(in_customerid),rtrim(in_toagentgroup) ,in_direction ,in_status,in_isintercom,rtrim(in_remotenumber),rtrim(in_localnumber), rtrim(in_eic_callidkey))
commit;
out_callid := seq_identity.currval;
end sp_insert_calls;