我在sybase写了一个存储过和,转换到oracle如下:
CREATE OR REPLACE PROCEDURE PROC_ADD_INFO(
v_AlarmID IN NUMBER ,
v_NEFDN IN VARCHAR2 ,
v_NEType IN NUMBER )
AS
v_kk_sql CLOB;
v_kk_count INT;
BEGIN
IF v_AlarmID NOT IN ( SELECT MINLID FROM infoTable WHERE MAXLID = RTRIM(v_NEFDN)) THEN
INSERT INTO infoTable
VALUES (0,v_AlarmID, 1, v_NEType,5); END IF;END;但在 IF v_AlarmID NOT IN ( SELECT MINLID FROM infoTable WHERE MAXLID = RTRIM(v_NEFDN)) THEN这一行报错:PLS-00405: 此上下文中不支持子查询,请问如何修改?
CREATE OR REPLACE PROCEDURE PROC_ADD_INFO(
v_AlarmID IN NUMBER ,
v_NEFDN IN VARCHAR2 ,
v_NEType IN NUMBER )
AS
v_kk_sql CLOB;
v_kk_count INT;
BEGIN
IF v_AlarmID NOT IN ( SELECT MINLID FROM infoTable WHERE MAXLID = RTRIM(v_NEFDN)) THEN
INSERT INTO infoTable
VALUES (0,v_AlarmID, 1, v_NEType,5); END IF;END;但在 IF v_AlarmID NOT IN ( SELECT MINLID FROM infoTable WHERE MAXLID = RTRIM(v_NEFDN)) THEN这一行报错:PLS-00405: 此上下文中不支持子查询,请问如何修改?
解决方案 »
- oracle批量生成数据
- orcale基础
- oracle包中varchar类型可以当number类型计算吗
- Oracle 的高手们 强烈解决一下数据库还原的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
- 小弟提问:EXP导出文件命令中,完全导出(FULL=Y)和一般导出有什么区别?导出的文件大小不一样,差在那里?
- char,varchar,varchar2有什么区别?number(n,m)中的n/m各表示什么意思?
- 大文件在数据库里面放地址路径,文件放在外边,那么oracle要lob字段干什么,请解惑
- oracle安装问题
- HELP!我刚装好oracle数据库,请问该如何设置才能让客户端连通数据库?(急)
- 数据库为oracle, 统计时用到时间段,条件加上<=或者>=索引无效?
- Oracle 维护报告模板
- XlsToOra V1.5.4.31┊无需Oracle将Excel数据导入Oracle表中┊英文绿色特别版
and minlid=v_alarmid;
if v_count=0 then
INSERT INTO infoTable
VALUES (0,v_AlarmID, 1, v_NEType,5);
end if;前面要定义一个变量v_count number
v_AlarmID IN NUMBER ,
v_NEFDN IN VARCHAR2 ,
v_NEType IN NUMBER )
AS
v_kk_sql CLOB;
v_kk_count INT;
BEGIN
IF v_AlarmID != ( SELECT MINLID FROM infoTable WHERE MAXLID = RTRIM(v_NEFDN)) THEN
INSERT INTO infoTable
VALUES (0,v_AlarmID, 1, v_NEType,5); END IF; END;