想编个过程,如下create or replace procedure PRC_TEMP AS
begin
SELECT * FROM KZS001.TEMP ;
end PRC_TEMP;但是编译出错,实在不懂。
环境是7.3 在PL/SQL Developer 下面
begin
SELECT * FROM KZS001.TEMP ;
end PRC_TEMP;但是编译出错,实在不懂。
环境是7.3 在PL/SQL Developer 下面
解决方案 »
- 问一个oracle中关于序列的问题
- 修改数据类型 在线等
- 在oracle如何优化?
- JPET用户默认表空间JPET,其中4张表的表空间却是USER.为什么会出现这种情况
- 如图,plsql空格显示乱码,怎么破?求大神指导!
- 关于触发器的问题(在一个表中检索符合要求的数据累加起来放到另外一个表中)(急,急,急)
- oracle 数据安全,不知可在那些方面入手?
- 高分求教dbms_output.put_line()函數問題
- 如何动态申明一个rowtype
- 数据库
- jsp连接oracle,报这个错误:the network adapter could no establish the connection
- oracle交叉表查询存储过程不能编译
create or replace package pkg_test
as
type myrctype is ref cursor;
procedure display(p_empno char,p_rc out myrctype);
end;create or replace package body pkg_test
as
procedure display(p_empno char,p_rc out myrctype)
is
sqlst varchar2(100);
begin
if p_empno is null then
open p_rc for select emp_name from student;
else
sqlst := 'select emp_name from student where emp_no = :w_empno';
open p_rc for sqlst using p_empno;
end if;
end;
end;调用:
declare
w_rc pkg_test.myrctype;
w_empname student.emp_name%type;
begin
pkg_test.display('0001', w_rc); loop
fetch w_rc into w_empname;
exit when w_rc%notfound;
dbms_output.put_line(w_empname);
end loop;
end;
比如说创建一个过程
create or replace procedure PRC_TEMP AS
begin
UPDATE TEMP SET AAA="111" ;
end PRC_TEMP;此时能编译成功,但是用 EXEC PRC_TEMP 来执行时就出错。说是无效的SQL,为什么?