Oracle不能将IMGSilimar用于ORDImage

时间:2018-03-22 16:45:01

标签: oracle oracle11g psql

我有以下程序。

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方法吗?

1 个答案:

答案 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工具的入口点。