我只想在声明过程之间显示 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;
<块引用>
注意:这张桌子有不止一行。
答案 0 :(得分:1)
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
中的各个字段。