oracle中的过程不会运行

时间:2015-05-16 14:19:03

标签: oracle stored-procedures

  -- procedure--
 CREATE OR REPLACE PROCEDURE getDBUSERByUserId(
   p_userid IN DBUSER.USER_ID%TYPE,
   o_username OUT DBUSER.USERNAME%TYPE,
   o_createdby OUT  DBUSER.CREATED_BY%TYPE,
   o_createddate OUT DBUSER.CREATED_DATE%TYPE)
 IS
BEGIN
 SELECT USERNAME , CREATED_BY
 INTO o_username, o_createdby
**FROM  DBUSER WHERE USER_ID = p_userid;
END;

 DECLARE
 o_username DBUSER.USERNAME%TYPE;
 o_createdby DBUSER.CREATED_BY%TYPE;
 o_date DBUSER.CREATED_DATE%TYPE;

 BEGIN
 GETDBUSERBYUSERID(1001,o_username,o_createdby,o_date);
 DBMS_OUTPUT.PUT_LINE('username :  ' || o_username);
 DBMS_OUTPUT.PUT_LINE('createdby :  ' || o_createdby);
END;
  • DBUSER TABLE COLUMNS:
  • USER_ID,
  • USERNAME,
  • CREATED_BY,
  • CREATED_DATE,

    错误报告 - ORA-06550:第11行,第3栏: PLS-00103:遇到符号"文件结束"期待以下之一:

    符号";"取代了"文件结尾"继续。

    1. 00000 - "行%s,列%s:\ n%s" *原因:通常是PL / SQL编译错误。 *操作:'

我正在尝试测试一个程序,因为我正在教自己如何应对它们,因为我的学校缺乏基础知识的教学。我在Oracle sqldeveloper程序中运行此代码,我无法弄清楚它到达文件末尾意味着什么,因为我安装了1个数据成员来匹配里面的代码。我不想显示添加的日期,这就是为什么它不在声明语句中。

1 个答案:

答案 0 :(得分:1)

如果你正在运行你作为脚本显示的所有内容,那么在PL / SQL代码的每个独立部分之后需要/

CREATE OR REPLACE PROCEDURE getDBUSERByUserId(
   p_userid IN DBUSER.USER_ID%TYPE,
   o_username OUT DBUSER.USERNAME%TYPE,
   o_createdby OUT  DBUSER.CREATED_BY%TYPE,
   o_createddate OUT DBUSER.CREATED_DATE%TYPE)
 IS
BEGIN
 SELECT USERNAME , CREATED_BY
 INTO o_username, o_createdby
 FROM  DBUSER WHERE USER_ID = p_userid;
END;
/

DECLARE
 o_username DBUSER.USERNAME%TYPE;
 o_createdby DBUSER.CREATED_BY%TYPE;
 o_date DBUSER.CREATED_DATE%TYPE;
BEGIN
 GETDBUSERBYUSERID(1001,o_username,o_createdby,o_date);
 DBMS_OUTPUT.PUT_LINE('username :  ' || o_username);
 DBMS_OUTPUT.PUT_LINE('createdby :  ' || o_createdby);
END;
/

This documentation如果是SQL * Plus,但也主要适用于SQL Developer。