Oracle >在select语句周围加引号?如果我不在select语句周围加引号,它会将两个Sparql查询语句视为一个完整的字符串,这会导致“标识符太长”错误。嗨,Mat,我知道我不应该在select语句周围加引号,但我根据本页进行了更改,这只能使我的过程编译成功,
Oracle >在select语句周围加引号?如果我不在select语句周围加引号,它会将两个Sparql查询语句视为一个完整的字符串,这会导致“标识符太长”错误。嗨,Mat,我知道我不应该在select语句周围加引号,但我根据本页进行了更改,这只能使我的过程编译成功,,oracle,semantics,owl,Oracle,Semantics,Owl,>在select语句周围加引号?如果我不在select语句周围加引号,它会将两个Sparql查询语句视为一个完整的字符串,这会导致“标识符太长”错误。嗨,Mat,我知道我不应该在select语句周围加引号,但我根据本页进行了更改,这只能使我的过程编译成功,但运行时会出现上述错误。如果我删除select周围的引号,将出现“标识符太长”错误。如果我也将sem_match函数中的“引号更改为”,则主要错误是“ORA-22905:无法从非嵌套表项访问行”。您已经有了ORA-00972,因此删除selec
>在select语句周围加引号?如果我不在select语句周围加引号,它会将两个Sparql查询语句视为一个完整的字符串,这会导致“标识符太长”错误。嗨,Mat,我知道我不应该在select语句周围加引号,但我根据本页进行了更改,这只能使我的过程编译成功,但运行时会出现上述错误。如果我删除
select
周围的
引号,将出现“标识符太长”错误。如果我也将sem_match
函数中的“
引号更改为”
,则主要错误是“ORA-22905:无法从非嵌套表项访问行”。您已经有了ORA-00972,因此删除select
周围的”
似乎不会改变任何东西。“
只是错误,只有在标识符周围确实需要时(区分大小写时)才使用它们。所以你真正的问题是ORA-22905,另一个错误只是掩盖了这一点……好吧,根据你上面链接的文章,先试试我说的;在选择
的周围保留外部单引号,但将双引号(“
)改为两个单引号(”
)。我想你只是误读了文章所说的内容(因为他们的代码不是等距的).我不知道为什么这样做会有帮助,因为它是动态的,但我想值得一试。嗨,亚历克斯,我以前试过这个,但得到了错误错误(13,24):PLS-00103:遇到了符号“{“当期望下列情况之一时:&&=+;>at in是mod rements而不是rem或!=或~=>=@Peiqin-用两个单引号代替每个双引号?该错误表明您只有一个……也许您可以准确地发布您得到该错误的内容(在Q或pastebin.com或其他地方)。如果我删除选择前后的引号,将出现“标识符太长”错误。如果我还将sem\u match
函数中的引号更改为”
,主要错误是“ORA-22905:无法从非嵌套表项访问行”“。您已经有了ORA-00972,因此删除选择
周围的”
似乎不会改变任何东西。“
只是错误,您只在标识符周围确实需要时才使用它们(区分大小写时).所以你真正的问题是ORA-22905,另一个错误只是掩盖了这一点…好吧,根据你上面链接的文章,先试试我说的;在选择
的周围保留外部单引号,但将双引号(“
)改为两个单引号(”
).我想你只是误读了这篇文章的内容(因为他们的代码不是等距的)。我不知道为什么这样做会有帮助,因为它是动态的,但我想值得一试。嗨,亚历克斯,我以前试过这个,但得到了错误错误(13,24):PLS-00103:遇到了符号“{”当期望以下情况之一时:&&=+;>at in是mod rements而不是rem或!=或~=>=@Peiqin-用两个单引号代替每个双引号?该错误表明您只有一个…也许您可以准确地发布您得到该错误的内容(在Q或pastebin.com或其他地方)。
CREATE OR REPLACE PROCEDURE PROC_MERGE_PATHWAY_SEM AS
TYPE c_type IS REF CURSOR;
semCursor c_type;
p1 VARCHAR2(40);
p2 VARCHAR2(40);
interCount INTEGER;
BEGIN
OPEN semCursor FOR
'SELECT p1, p2, COUNT(g) as interCount
FROM TABLE (sem_match (
"{?p1 <http://example.com/test.owl#relates_to> ?g . ?p2 <http://example.com/test.owl#relates_to> ?g }",
sem_models("pathway"),
null,
null,
null))';
LOOP
FETCH semCursor INTO p1, p2, interCount;
EXIT WHEN semCursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(p1||','||p2||','||interCount);
END LOOP;
/*
FOR records IN semCursor LOOP
DBMS_OUTPUT.PUT_LINE('test');
END LOOP; */
END PROC_MERGE_PATHWAY_SEM;
create or replace
PROCEDURE PROC_MERGE_PATHWAY_SEM AS
TYPE c_type IS REF CURSOR;
semCursor c_type;
p1 VARCHAR2(40);
p2 VARCHAR2(40);
interCount INTEGER;
BEGIN
OPEN semCursor FOR
'SELECT p1, p2, COUNT(g) as interCount
FROM TABLE (sem_match (
''{?p1 <http://example.com/test.owl#relates_to> ?g . ?p2 <http://example.com/test.owl#relates_to> ?g }'',
sem_models(''pathway''),
null,
null,
null))';
LOOP
FETCH semCursor INTO p1, p2, interCount;
EXIT WHEN semCursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(p1||','||p2||','||interCount);
END LOOP;
/*
FOR records IN semCursor LOOP
DBMS_OUTPUT.PUT_LINE('test');
END LOOP; */
END PROC_MERGE_PATHWAY_SEM;