oracle - 错误 PLS-00428:此 SELECT 语句中应有一个 INTO 子句
问题描述
我只想在声明过程之间显示 USU_USERS 表,但是当我尝试编译时显示此错误
DECLARE
ID_UNICO VARCHAR(200) := 'H3LP';
BEGIN
DECLARE
VID VARCHAR2(200);
VID_USER VARCHAR2(200);
BEGIN
VID := ID_UNICO;
VID_USER := 'SOPORTE';
USR_SP_USERS.CREATE(
VID => VID,
VID_USER => VID_USER,
);
END;
SELECT * from USU_USERS;
END;
注意:此表有不止一行。
解决方案
PL/SQL 只是一种服务器端语言,因此无法在任何地方“显示”SELECT 语句的结果。您的 SELECT 语句需要将从数据库中检索到的值放入一个或多个变量中。让我们尝试为您提供一些可行的方法:
DECLARE
strID_UNICO VARCHAR(200) := 'H3LP';
strVID VARCHAR2(200);
strVID_USER VARCHAR2(200);
rowUSU_USERS USU_USERS%ROWTYPE;
BEGIN
strVID := strID_UNICO;
strVID_USER := 'SOPORTE';
USR_SP_USERS.CREATE(VID => strVID,
VID_USER => strVID_USER);
SELECT *
INTO rowUSU_USERS
FROM USU_USERS;
END;
请注意,如果表 USU_USERS 中包含多于一行,则此代码将失败。但是,假设 USU_USERS 中只有一行,那么您可以使用它DBMS_OUTPUT.PUT_LINE
来输出rowUSU_USERS
.
推荐阅读
- java - 在不同的监视器 selenium webdriver java 上测试失败
- c# - 基于 [InlineData] 或 [MemberData] 的动态断言
- rest - Outlook 任务 REST API - 未授权 401
- vb.net - 如何从另一个表单引用变量表单上的变量控件?需要获取button.Tag在运行程序中重命名
- excel - 如果 MOD() 除数为 0,则返回 0?
- octobercms - 如何通过 octobercms 渲染后端列表过滤器后的部分内容
- neo4j - apoc refactor rename 给出过程不支持隐式命名错误
- oracle - 如何将 ORACLE DB 中大约 300 个表中的数据导出到 csv 或 txt 文件
- amazon-web-services - 由于当前正在验证帐户,AWS 资源创建失败
- javascript - 使用 webpack 排除未使用的语言环境 momentjs