首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

select查询的结果不能作为存储过程的实参么?该如何处理

2012-04-04 
select查询的结果不能作为存储过程的实参么?SQL code写了一个存储过程,向一个emp表中插入数据。。如果用如下

select查询的结果不能作为存储过程的实参么?

SQL code
写了一个存储过程,向一个emp表中插入数据。。如果用如下调用是可以执行的。DECLARE  L_EMPNO  EMP.EMPNO%TYPE;  L_DEPTNO DEPT.DEPTNO%TYPE;BEGIN  SELECT MAX(EMPNO) + 1 INTO L_EMPNO FROM EMP;  SELECT DEPTNO INTO L_DEPTNO FROM DEPT WHERE ROWNUM = 1;  PRO_INSERT_TAB_EMP(L_EMPNO,                     'yc',                     'xx',                     12,                     '20120213',                     123,                     123,                     L_DEPTNO);END;--但是我想少些一些代码,直接把select查询的值返回作为存储过程的实参。但报错--下面的报错BEGIN  PRO_INSERT_TAB_EMP((SELECT MAX(EMPNO)+1 FROM EMP), 'yc', 'xx', 'xx', '2012213', 123, 123, 10)END;


[解决办法]
是不是最大的有几个值 返回多个了?
[解决办法]
不可以,PL/SQL不支持这种类似闭包操作。

热点排行
Bad Request.