我有以下程序。
CREATE OR REPLACE PROCEDURE FIND_SIMILAR_PICTURES
( nazwa in varchar, exp in varchar)
IS
idk number(10);
img_score number;
image ORDSYS.ORDImage;
query_sig ORDSYS.ORDImageSignature;
text varchar(200) := 'shape="1.0"';
CURSOR photos IS SELECT idk, IMGScore(1), obrazek FROM foto_oferty WHERE ORDSYS.IMGSimilar(image_sig,query_sig,text,10,1) = 1;
BEGIN
SELECT image_sig INTO query_sig FROM foto_oferty WHERE nazwa_pliku = nazwa;
OPEN photos;
LOOP
FETCH photos INTO idk, img_score, image;
EXIT WHEN photos%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Obrazek z id '||idk||'pasuje.');
END LOOP;
CLOSE photos;
END;
表的结构。
CREATE TABLE foto_oferty(
idk number(10) NOT NULL,
nazwa_pliku varchar(40) NOT NULL,
obrazek ORDimage,
modyf ORDimage,
oferta_id number(10) NOT NULL,
image_sig ORDImageSignature,
CONSTRAINT foto_oferty_pk PRIMARY KEY(idk)
);
当我运行此程序时,我收到了该错误。
Error(9,76): PL/SQL: ORA-00904: "ORDSYS"."IMGSIMILAR": invalid identifier
问题是我没有使用正确的IMGSimilar方法吗?
答案 0 :(得分:1)
我认为以下查询会告诉您对象是否存在且对您来说是否可见
SELECT
*
FROM all_procedures
WHERE owner = 'ORDSYS'
AND
(
(procedure_name LIKE '%IMG%')
OR
(procedure_name LIKE '%SIM%')
)
ORDER BY all_procedures.procedure_name
;
如果对象可用,您可以在架构浏览器中找到您正在使用的任何SQL工具的入口点。