楼主的存储过程还没有专程oracle的么
解决方案 »
- 求助一查询语句
- 关于数据库的字符集问题
- 匿名块中的procedure
- Oracle与sqlserver数据类型对应
- 关于oracle的自定义类型:MDSYS.SDO_GEOMETRY,对应于postgresql的什么类型讷?
- SQL语句疑问?
- openSUSE 11.0(x86_64) 上装 Oracle11g(64位) 的 all_no_orcl 问题
- show_alert()函数、set_alert_property()函数等有没有函数文档啊?
- 一个简单的关于SELECT语句的问题,急!!!
- ●●函数与过程都能返回记录集,欢迎讨论!●●
- ORACLE如何实现像MS_SQL一样的数据库附加功能啊.
- 将SQL-Server存储过程转换为Oracle的,谢谢大家~~~(4)
p_STATUS in varchar2(255),
p_IPADDRESS in varchar2(20))
IS
--定义临时变量,用来接收 TERMINALID
TempID int;
--如果机器信息表 TR_INFO 中存在 @IPADDRESS 这个机器,则把他的机器 ID 取出来赋值给变量 @TempID 中
begin
select ID into TempID from TR_INFO where IPADDRESS =p_IPADDRESS;
--插入数据到TR_STATUS表
insert into TR_STATUS (TERMINALID,STATUS,IPADDRESS) values (TempID,p_STATUS,p_IPADDRESS);
--并将tr_info表中active字段值改为1
update tr_info set active = '1' where TERMINALID = TempID;
EXCEPTION
WHEN no data found
THEN
null;
CREATE OR REPLACE PROCEDURE InsertTerminalState (
p_STATUS in varchar2,
p_IPADDRESS in varchar2)
IS
--定义临时变量,用来接收 TERMINALID
TempID int;
--如果机器信息表 TR_INFO 中存在 @IPADDRESS 这个机器,则把他的机器 ID 取出来赋值给变量 @TempID 中
begin
select ID into TempID from TR_INFO where IPADDRESS =p_IPADDRESS;
--插入数据到TR_STATUS表
insert into TR_STATUS (TERMINALID,STATUS,IPADDRESS) values (TempID,p_STATUS,p_IPADDRESS);
--并将tr_info表中active字段值改为1
update tr_info set active = '1' where TERMINALID = TempID;
EXCEPTION
WHEN no data found
THEN
null;
end;
Compilation errors for PROCEDURE DEV.INSERTTERMINALSTATEError: PLS-00103: 出现符号 "DATA"在需要下列之一时:
. then or
符号 ".在 "DATA" 继续之前已插入。
Line: 16
Text: THEN
NULL;--上面写错了
了解oracle中的参数定义,基本的写法就好了
CREATE OR REPLACE PROCEDURE InsertTerminalState (
p_STATUS in varchar2,
p_IPADDRESS in varchar2)
IS
--定义临时变量,用来接收 TERMINALID
TempID int;
--如果机器信息表 TR_INFO 中存在 @IPADDRESS 这个机器,则把他的机器 ID 取出来赋值给变量 @TempID 中
begin
select ID into TempID from TR_INFO where IPADDRESS =p_IPADDRESS;
--插入数据到TR_STATUS表
insert into TR_STATUS (TERMINALID,STATUS,IPADDRESS) values (TempID,p_STATUS,p_IPADDRESS);
--并将tr_info表中active字段值改为1
update tr_info set active = '1' where TERMINALID = TempID;
EXCEPTION
WHEN NO_DATA_FOUND THEN
null;
end;
//错误如下----------------------------------------------------------------
Compilation errors for PROCEDURE DEV.INSERTTERMINALSTATEError: PL/SQL: ORA-00904: "IPADDRESS": 标识符无效
Line: 9
Text: select ID into TempID from TR_INFO where IPADDRESS =p_IPADDRESS;Error: PL/SQL: SQL Statement ignored
Line: 9
Text: select ID into TempID from TR_INFO where IPADDRESS =p_IPADDRESS;