oracle´æ´¢¹ý³ÌµÄ¶¯Ì¬Óαê³ö´í - Oracle / ¿ª·¢
create or replace procedure prc
AS
sqlstr varchar2(3000);
type resultcur is ref cursor;
begin
sqlstr := ¡®select * from tableÃû where Ìõ¼þ¡¯;
open resultcur for sqlstr; ---´Ë´¦±¨´í
......
end prc;
Compilation errors for PROCEDURE PRC
Error: PLS-00330: invalid use of type name or subtype name
Line: 148
Text: open resultcur for sqlstr;
ÇëÎÊ´óÏÀÃÇ£¬ÕâÊÇʲô´íÎó£¬Ôõô½â¾ö£¬Çë´Í½Ì£¡
SQL code:
-- ¸ø¸öÀý×Ó¸øÄ㣬×Ô¼º¿´×Űì°É£º
-----------------------------------------------------------------------------
create or replace package pkg_emp_info
as
type myrctype is ref cursor;
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype);
end pkg_emp_info;
/
create or replace package body pkg_emp_info
as
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype)
is
sqlstr VARCHAR2(2000);
begin
sqlstr :=
'SELECT * from emp e where 1=1';
if v_empno<>0 then
sqlstr := sqlstr||' and e.empno='||v_empno;
end if;
if v_ename<>'' then
sqlstr := sqlstr||' and e.ename like ''%||v_ename||%''';
end if;
if v_deptno<>0 then
sqlstr := sqlstr||' and e.deptno='||v_deptno;
end if;
Ïà¹ØÎÊ´ð£º
ÎÒÊÇÓÃÔ¶³Ì×ÀÃæÁ¬²Ù×÷·þÎñÆ÷ÉϵÄÊý¾Ý¿â¡£
ÔÚ´´½¨Ò»¸öÓû§Ö®ºó£¬ÔÙÓÃPLSQLµÇ¼£¬ÔòPLSQLËÀµôÁË¡£
ÎҹصôPLSQLÖ®ºó£¬ÓÃÆäËûÓû§Ò²²»ÄܵǼ¡£
ÎÒ°ÑoracleµÄ·þÎñÍ£Ö¹£¬½á¹û¾ÍÊÇoracleµÄ·þÎñ״̬¾ÍÍ£ÁôÔÚ¡°Í ......
ÎÒÔÚ¿ª·¢µÄÕâ¸öÓ¦Óò¢·¢ÐԱȽϸߣ¬oracle¸üÐÂÊý¾ÝʱºòÈçºÎ´¦Àí²¢·¢´¦ÀíÄØ£¿¸÷λ´óÏÀ·¢±íºÃµÄ¹Ûµã°¡£¬ÔÚÏߵȴý£¡
oracleÊý¾Ý¸üÐÂʱ£¬»á×Ô¶¯Ä¬ÈÏÐÐËø¶¨£¬Â¥Ö÷²»Òª²ÙÐÄ£¬Oracle¶Ô²¢Ðд¦ÀíÒѾºÜ³ÉÊìÁË
ÒýÓÃ
oracle ......
¼ÙÉètable01 ÖÐÓÐ ÒÔÏÂ×ÊÁÏ
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
³£Óõ绰
¶øÎÒÃÇÒªµÃµ½ÒÔϵÄOUTPUT (»òÊǸ÷ÖÖÆäËûµÄoutput)
0001,TOM
0002,JOHN
......
SQL code:
CREATE OR REPLACE PROCEDURE usp_refreshTopN IS
BEGIN
--Îĵµ
INSERT INTO topnresource(resourceId,title,type,cover,brief,properUser,tag,clickAmount,createDate,topNCreateDate,organizat ......
1.ÏÖÔÚϵͳÊÇ64λµÄserver2003£¨web·þÎñÆ÷IIS6.0£©×°µÄÊÇ10gµÄoracle¿Í»§¶Ë¡£
2.Êý¾Ý¿â·þÎñÆ÷ͬÑùÊÇ32λµÄserver2003µÄoracle10g¡£
3.web·þÎñÆ÷ÉÏÓÃsqlplus·ÃÎÊÊý¾Ý¿â-Õý³££»
vs2008ÄÚ²¿½¨Á¢Êý¾ÝÔ´£¬·ÃÎÊ ......