没环境测试,试试:-----------------------------------------------------------------
CREATE OR REPLACE PROCEDURE TR_ADD_Maintenance(
TerminalID NUMBER,
FaultInfo VARCHAR2(50),
FaultTime DATE,
ReportEmployee VARCHAR2(20),
StartRepairTime DATE,
FinishRepairTime DATE,
RepairStatus VARCHAR2(8),
RepairResult VARCHAR2(20),
RepairEmployee VARCHAR2(20),
Ret OUT NUMBER)
AS
BEGIN
Ret := -1;
IF EXISTS(select 1 from TR_Maintenance where TerminalID=TerminalID)
RETURN;
END IF; insert into TR_Maintenance(TerminalID, FaultInfo, FaultTime, ReportEmployee, StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee)
values(TerminalID,FaultInfo,FaultTime,ReportEmployee,StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee);
Ret := 1; RETURN;
END TR_ADD_Maintenance;
CREATE OR REPLACE PROCEDURE TR_ADD_Maintenance(
TerminalID NUMBER,
FaultInfo VARCHAR2(50),
FaultTime DATE,
ReportEmployee VARCHAR2(20),
StartRepairTime DATE,
FinishRepairTime DATE,
RepairStatus VARCHAR2(8),
RepairResult VARCHAR2(20),
RepairEmployee VARCHAR2(20),
Ret OUT NUMBER)
AS
BEGIN
Ret := -1;
IF EXISTS(select 1 from TR_Maintenance where TerminalID=TerminalID)
RETURN;
END IF; insert into TR_Maintenance(TerminalID, FaultInfo, FaultTime, ReportEmployee, StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee)
values(TerminalID,FaultInfo,FaultTime,ReportEmployee,StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee);
Ret := 1; RETURN;
END TR_ADD_Maintenance;
解决方案 »
- jdbcTemplate.queryForList查询速度慢,请高手解答一下!谢谢
- oracle 复制
- 请教多张同名表管理问题
- 大家谁有学习数据库好的资料啊,发我一份吧,高分奖励
- 关于ADO.Net并发处理原理 在线等结贴
- 如何远和联接ORACLE数据服务器
- 初学oracle,为什么在sqlplus不能执行??(新手,新手,新新手)
- ora-04031问题 在线等
- 菜鸟问题:关于sql*plus的帮助在哪里可以找到,我在sql plus worksheet里没找到阿
- oracle数据文件大小的修改
- 将SQL-Server存储过程转换为Oracle的,谢谢大家~~~(4)
- *****请问一句时间加法的SQL语句*****
( ; is with authid
as cluster compress order using compiled wrapped external
deterministic parallel_enable pipelined
符号 "is" 被替换为 "TERMINALID" 后继续。
Line: 2
Text: TerminalID NUMBER;Error: PLS-00103: 出现符号 "NUMBER"在需要下列之一时:
:= . ( @ % ; not null
range default character
Line: 11
Text: Ret OUT NUMBER-----------------------------------------------------
我先把逗号都改为";",然后还有以上的错误,
--输入输出参数的变量有类型就好了
CREATE OR REPLACE PROCEDURE TR_ADD_Maintenance(
TerminalID NUMBER,
FaultInfo VARCHAR2(50),
FaultTime DATE,
ReportEmployee VARCHAR2,
StartRepairTime DATE,
FinishRepairTime DATE,
RepairStatus VARCHAR2,
RepairResult VARCHAR2,
RepairEmployee VARCHAR2,
Ret OUT NUMBER)
AS
CREATE OR REPLACE PROCEDURE TR_ADD_Maintenance(
TerminalID NUMBER,
FaultInfo VARCHAR2(50),
FaultTime DATE,
ReportEmployee VARCHAR2,
StartRepairTime DATE,
FinishRepairTime DATE,
RepairStatus VARCHAR2,
RepairResult VARCHAR2,
RepairEmployee VARCHAR2,
Ret OUT NUMBER)
AS
BEGIN
Ret := -1;IF EXISTS(select 1 from TR_Maintenance where TerminalID=TerminalID)
RETURN;
END IF;insert into TR_Maintenance(TerminalID, FaultInfo, FaultTime, ReportEmployee, StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee)
values(TerminalID,FaultInfo,FaultTime,ReportEmployee,StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee);Ret := 1;RETURN;END TR_ADD_Maintenance;
//--错误如下
Compilation errors for PROCEDURE DEV.TR_ADD_MAINTENANCEError: PLS-00103: 出现符号 "("在需要下列之一时:
:= . ) , @ % default
character
符号 ":=" 被替换为 "(" 后继续。
Line: 3
Text: FaultInfo VARCHAR2(50),Error: PLS-00103: 出现符号 "RETURN"在需要下列之一时:
then and or
符号 "then" 被替换为 "RETURN" 后继续。
Line: 17
Text: RETURN;
//------------------
辛苦大家了~~再次谢谢~~
TerminalID NUMBER,
FaultInfo VARCHAR2,
FaultTime DATE,
ReportEmployee VARCHAR2,
StartRepairTime DATE,
FinishRepairTime DATE,
RepairStatus VARCHAR2,
RepairResult VARCHAR2,
RepairEmployee VARCHAR2,
Ret OUT NUMBER)
AS
BEGIN
Ret := -1;IF EXISTS(select 1 from TR_Maintenance where TerminalID=TerminalID)
RETURN;
END IF;insert into TR_Maintenance(TerminalID, FaultInfo, FaultTime, ReportEmployee, StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee)
values(TerminalID,FaultInfo,FaultTime,ReportEmployee,StartRepairTime,FinishRepairTime,RepairStatus,RepairResult,RepairEmployee);Ret := 1;RETURN;END TR_ADD_Maintenance;
then and or
符号 "then" 被替换为 "RETURN" 后继续。
Line: 17
Text: RETURN;
then --缺少then
RETURN;
END IF;
再次贴出这帖子需要修改的存储过程
谢谢大家~~
CREATE PROCEDURE [dbo].[ADD_TR_Info]
@TerminalID int,
@Province varchar(10),
@City varchar(20),
@Address varchar(50),
@StockTime datetime,
@Manufacturer varchar(20),
@Sort varchar(10),
@Model varchar(10),
@PutTime datetime,
@Re varchar(100),
@Active int,
@BeginTime datetime,
@EndTime datetime,
@Ipaddress varchar(20)
AS
if((select count(*) from TR_Info where TerminalID = @TerminalID) > 0)
BEGIN
return -1
END
else
BEGIN
insert into TR_Info values(@TerminalID,@Province,@City,@Address,@StockTime,@Manufacturer,@Sort,@Model,@PutTime,@Re,@Active,@BeginTime,@EndTime,@Ipaddress)
insert into TR_STATUS(TERMINALID,IPADDRESS,STATUS) values (@TERMINALID,@IPADDRESS,'000000000000000000000000000000000')
return 1
END
GO
按照libin_ftsafe(子陌红尘:当libin告别ftsafe) 和我告诉你的一些东西
你完全可以自己修改好的
难道你的每个存储过程都要别人改好发给你么
那你不是什么都没有学到
TerminalID int,
Province varchar2,
City varchar2,
Address varchar2,
StockTime date,
Manufacturer varchar2,
Sort varchar2,
Model varchar2,
PutTime date,
Re varchar2,
Active int,
BeginTime date,
EndTime date,
Ipaddress varchar2,
Ret OUT NUMBER
)
is
begin
Ret := -1;
if EXISTS((select count(*) from TR_Info where TerminalID = TerminalID) > 0)
then
return ;
END IF;
BEGIN
insert into TR_Info values(TerminalID,Province,City,Address,StockTime,Manufacturer,Sort,Model,PutTime,Re,
Active,BeginTime,EndTime,Ipaddress);
insert into TR_STATUS(TERMINALID,IPADDRESS,STATUS) values (TERMINALID,IPADDRESS,'000000000000000000000000000000000');
Ret := 1;
return ;
END;
v_i int;
begin
Ret := -1;
select count(*) into v_i from TR_Info where TerminalID = TerminalID;
insert into TR_Info values(TerminalID,Province,City,Address,StockTime,Manufacturer,Sort,Model,PutTime,Re,
Active,BeginTime,EndTime,Ipaddress);
insert into TR_STATUS(TERMINALID,IPADDRESS,STATUS) values (TERMINALID,IPADDRESS,'000000000000000000000000000000000');
Ret := 1;
EXCEPTION
WHEN no_Data_found
THEN
null;END;