CREATE OR REPLACE PROCEDURE HELLO_PRO(STR VARCHAR2) AS
BEGIN
DBMS_OUTPUT.PUT_LINE(STR);
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(STR);
END;
解决方案 »
- oracle时间的判断
- dbms_standard.client_ip_address
- 本人使用jdbc连接池连接数据库测试是否连接时报ora-00036错误,求解决!
- Oracle上亿数据查询,碰到一个问题,请教下各位DBA
- 三张表结构相同,怎么高效率的把其中两张表的数据插入到另一张表,并且插入的数据不能有重复?
- 帮忙看一下,sql语句的效率问题
- 关于表空间的奇怪问题(up有分!)
- 哪有电子版的PL/SQL Developer的使用手册下载?
- 创建实体化视图Sql求助??
- sid、网络标识名、主机字符串、全局数据库名,什么区别?
- +++急:oracle 9i for AIX
- ora-14400:插入的分区关键字未插入到任何分区, 在线等
is
v_STR varchar2(10);
begin
v_STR:=STR;
DBMS_OUTPUT.PUT_LINE(v_STR);
END;
SQL> set serveroutput on
SQL> exec hello_pro('he');hePL/SQL procedure successfully completed
BEGIN
DBMS_OUTPUT.PUT_LINE(STR);
END;SQL> set serveroutput on
SQL> exec hello_pro('he');hePL/SQL procedure successfully completed
不过我还是没有明白,这个错误出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。是什么意思?
因为还碰到了类似的问题!高手进一步指点吧!
比如我还做了几个例子!就用oralce自带的hr的例子
connect hr/password
--定义一个包头
CREATE OR REPLACE PACKAGE cv_types AS
TYPE EmpInfoTyp is REF CURSOR RETURN EMPLOYEES%ROWTYPE;
END cv_types;
--这个没有问题!
--然后在定义一个过程,引用到刚刚包头中的一个typeCREATE OR REPLACE PROCEDURE EmpInfo_rpt
(emp_cv IN OUT cv_types.EmpInfoTyp)AS
DEGIN
OPEN emp_cv FOR SELECT EMPLOYEE_ID,SALARY FROM EMP_DETAILS_VIEW
WHERE JOB_ID='SA_MAN';这个过程中,还是有那个错误!
pl-00103 :出现符号 "EMP_CV"在需要下列之一时: := . ( @ % ; not null range default character
emp_cv cv_types.EmpInfoTyp%type;
是这个游标定义!
TYPE EmpInfoTyp is REF CURSOR RETURN EMPLOYEES%ROWTYPE;
和下面
游标的赋值不一致导致!
此外,还有一个拼写的错误!DEGIN--》begin!