【发布时间】:2020-08-04 13:18:15
【问题描述】:
我正在使用类型创建一个函数,它给了我两个错误说: 错误 (12,7): PL/SQL: SQL 语句被忽略 错误(27,13):PL/SQL:ORA-00904:“UT”:标识符无效
我的代码看不到任何问题,如下所示,有什么帮助吗?
CREATE OR REPLACE EDITIONABLE FUNCTION ESF_GET_USERS
RETURN tc_users
IS
l_users tc_users;
BEGIN
SELECT t_user
(
Uname,
FName,
Sname,
PName,
Tit,
mail,
FC,
SC,
SN,
SD,
RC,
RN,
CC || ' ' || CN,
UT
)
BULK COLLECT INTO l_users
FROM USERS_MV;
RETURN l_users;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20001,'No records returned');
END esf_users;
我正在创建两种类型,一种是对象,第二种是来自该对象的表,如下所示:
CREATE OR REPLACE EDITIONABLE TYPE T_USER
AS OBJECT
(
UNAME VARCHAR2(20 BYTE),
FNAME VARCHAR2(30 BYTE),
SNAME VARCHAR2(30 BYTE),
PNAME VARCHAR2(30 BYTE),
TIT VARCHAR2(30 BYTE),
MAIL VARCHAR2(24 BYTE),
FC VARCHAR2(10 BYTE),
SC VARCHAR2(10 BYTE),
SN VARCHAR2(200 BYTE),
SD VARCHAR2(10 BYTE),
RC VARCHAR2(10 BYTE),
RN VARCHAR2(200 BYTE),
HN VARCHAR2(100 BYTE),
UT VARCHAR2(7 BYTE)
);
CREATE OR REPLACE EDITIONABLE TYPE TC_USERS AS TABLE OF t_user;
物化视图代码为:
CREATE MATERIALIZED VIEW "USERS_MV"
AS select "UName",
"FName",
"Sname",
"PName",
"Tit",
"mail",
"FC",
"SC",
"SN",
"SD",
"RC",
"RN",
"CC",
"CN",
"UT"
from (
SELECT ...
【问题讨论】:
-
第 1 行的双引号是怎么回事?
-
抱歉,只是复制粘贴时打错了
-
你能发帖
users_mvddl吗? -
@Kumar 我已经添加了 mv 代码,它工作正常