oracle中的过程无法运行 DBUSER表列: 用户ID 用户名 创建于
创建日期 错误报告- ORA-06550:第11行第3列: PLS-00103:在预期以下情况时遇到符号“文件结束”: ); 符号“;”被替换为“文件结束”以继续oracle中的过程无法运行 DBUSER表列: 用户ID 用户名 创建于,oracle,stored-procedures,Oracle,Stored Procedures,创建日期 错误报告- ORA-06550:第11行第3列: PLS-00103:在预期以下情况时遇到符号“文件结束”: ); 符号“;”被替换为“文件结束”以继续 00000-“行%s,列%s:\n%s” *原因:通常是PL/SQL编译错误。 *行动:' 我正在尝试测试一个程序,因为我正在教自己如何应付这些程序,因为我的学校缺乏关于基础知识的教学。我在OracleSQLDeveloper程序中运行这段代码,当我到达文件末尾时,我无法理解这意味着什么,因为我安装了一个1数据成员来匹配内部代码。
我正在尝试测试一个程序,因为我正在教自己如何应付这些程序,因为我的学校缺乏关于基础知识的教学。我在OracleSQLDeveloper程序中运行这段代码,当我到达文件末尾时,我无法理解这意味着什么,因为我安装了一个1数据成员来匹配内部代码。我不想显示它添加的日期,因此它不在declare语句中。如果您正在运行作为脚本显示的所有内容,则在PL/SQL代码的每个独立部分之后都需要一个
/
:
-- 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;
如果适用于SQL*Plus,但主要也适用于SQL Developer。粘贴代码时,不要粘贴行号。标记出在使用注释时出现错误的行。您已经解决了第一个问题,因此您可以显示获得第二个问题的实际代码吗?包括最后的
/
,如果你有,并说明你是如何运行它的。@AlexPoole刚刚重新编辑了一下,你说的最后的“/”是什么意思?这里有两件事,一个过程定义和一个匿名块。您是否将它们作为单个脚本一起运行?(看起来像SQL Developer?)如果是这样的话,您需要在它们之间以及匿名块之后的一行上加一个斜杠,以便独立地执行每个块。错误似乎来自过程中的端
,但不是100%清楚。您已经用一个尾随分号显示了它,但不是提交斜杠。好的,这似乎是有效的,这是我们在课堂上处理数据库时没有教过的次要内容。我感谢阿列克斯普尔的帮助。这确实解决了问题,它最终完成了声明。是的,在我安装了/…教育系统在教学生时缺少一些东西之后,它确实起了作用
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;
/