-- 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;
CREATED_DATE,
错误报告 - ORA-06550:第11行,第3栏: PLS-00103:遇到符号"文件结束"期待以下之一:
符号";"取代了"文件结尾"继续。
我正在尝试测试一个程序,因为我正在教自己如何应对它们,因为我的学校缺乏基础知识的教学。我在Oracle sqldeveloper程序中运行此代码,我无法弄清楚它到达文件末尾意味着什么,因为我安装了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。