Oracle 初学者PL/SQL脚本。这个代码看起来正确吗?

Oracle 初学者PL/SQL脚本。这个代码看起来正确吗?,oracle,plsql,Oracle,Plsql,我正在开始学习PL/SQL,目前没有访问数据库的权限(因此无法检查我的代码是否正确)。我正试着根据学生的身份证号码打印出他们的名字。到目前为止,我已经: SET SERVEROUTPUT ON DECLARE VNAME STUDENT.NAME%TYPE; BEGIN SELECT NAME INTO VNAME FROM STUDENT WHERE ID = '0123'; IF SQL%FOUND THEN DBMS_OUTPUT.PUT_LINE('Student

我正在开始学习PL/SQL,目前没有访问数据库的权限(因此无法检查我的代码是否正确)。我正试着根据学生的身份证号码打印出他们的名字。到目前为止,我已经:

SET SERVEROUTPUT ON
DECLARE
  VNAME STUDENT.NAME%TYPE;
BEGIN
  SELECT NAME INTO VNAME
  FROM STUDENT
  WHERE ID = '0123';
  IF SQL%FOUND THEN
  DBMS_OUTPUT.PUT_LINE('Student with ID "0123" has the name ' || VNAME);
  END IF;
END;
/

语法看起来正确吗?它应该生成输出“ID为0123的学生名为uuuuuuuuuuuuuuu”

请尝试使用异常处理程序,正如注释中指出的那样,您的IF将无法按预期工作

由于您无权访问数据库,因此原始脚本将执行以下操作:

DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 4
使用异常处理程序,在SQLPLUS中,您将获得:

No student record found for that id

PL/SQL procedure successfully completed.

SQL>

试着使用一个异常处理程序,正如注释中指出的,您的IF不会像您期望的那样工作

由于您无权访问数据库,因此原始脚本将执行以下操作:

DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 4
使用异常处理程序,在SQLPLUS中,您将获得:

No student record found for that id

PL/SQL procedure successfully completed.

SQL>

试着使用一个异常处理程序,正如注释中指出的,您的IF不会像您期望的那样工作

由于您无权访问数据库,因此原始脚本将执行以下操作:

DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 4
使用异常处理程序,在SQLPLUS中,您将获得:

No student record found for that id

PL/SQL procedure successfully completed.

SQL>

试着使用一个异常处理程序,正如注释中指出的,您的IF不会像您期望的那样工作

由于您无权访问数据库,因此原始脚本将执行以下操作:

DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 4
使用异常处理程序,在SQLPLUS中,您将获得:

No student record found for that id

PL/SQL procedure successfully completed.

SQL>
如果您没有访问数据库的权限,请尝试。 您可以在线查看您的查询。

如果您没有访问数据库的权限,请尝试。 您可以在线查看您的查询。

如果您没有访问数据库的权限,请尝试。 您可以在线查看您的查询。

如果您没有访问数据库的权限,请尝试。
您可以在线查看您的查询。

看起来是正确的,但如果没有id为“123”的记录或有多条记录,它将失败。最好在子句和catch exceptionOk中添加异常,谢谢。您可以下载并安装免费版本的Oracle数据库:。看起来正确,但如果没有id为“123”的记录或多个记录,则会失败。最好在子句和catch exceptionOk中添加异常,谢谢。您可以下载并安装免费版本的Oracle数据库:。看起来正确,但如果没有id为“123”的记录或多个记录,则会失败。最好在子句和catch exceptionOk中添加异常,谢谢。您可以下载并安装免费版本的Oracle数据库:。看起来正确,但如果没有id为“123”的记录或多个记录,则会失败。最好在子句和catch exceptionOk时添加
异常,将其添加到中,谢谢。您可以下载并安装Oracle数据库的免费版本:。