Tôi sắp xếp ra một loạt các tập lệnh SQL cho công ty của mình được viết bằng Oracle PL/SQL. Tôi bắt gặp một kịch bản thiết yếu với một dấu gạch chéo được đặt lạ ở gần đáy. Nó được kiểm tra vào CVS theo cách này. Đây có phải là lỗi cú pháp thuần túy hay không có chức năng nào đó mà tôi không biết. Các kịch bản hơi obfuscated:Đây có phải là ký tự gạch chéo trong một kịch bản Oracle PL/SQL không?
set serveroutput on size 2000;
--PL/SQL block to link ISSN in serial base on a company's ISSN text file
declare
cursor ItemCursor is
select issn is2 from web.obfuscated1 where issn is not null
union
select eissn is2 from web.obfuscated1 where eissn is not null;
cursor ItemCursor1(aIS varchar2) is
select obfuscated1_uid from web.obfuscated1 where group_num is null and issn in (
select distinct issn from web.obfuscated1 where issn = aIS or eissn = aIS
union
select distinct eissn from web.obfuscated1 where issn = aIS or eissn = aIS
)
union
select obfuscated1_uid from web.obfuscated1 where eissn in (
select distinct issn from web.obfuscated1 where issn = aIS or eissn = aIS
union
select distinct eissn from web.obfuscated1 where issn = aIS or eissn = aIS
);
cursor ItemCursor2(aIS9 varchar2) is
select obfuscated1_uid from web.obfuscated1 where issn in (
select distinct issn from web.obfuscated1 where issn = aIS9 or eissn = aIS9
union
select distinct eissn from web.obfuscated1 where issn = aIS9 or eissn = aIS9
) and group_num is null;
agroup number(8);
processCount number(8);
------------------------------------------------------
-- MAIN BLOCK -----------------------------------
-------------------------------------------------
begin
processCount := 0;
agroup := null;
for itemRec in ItemCursor loop
agroup := null;
begin
select group_num into agroup from web.obfuscated1 where issn in (
select distinct issn from web.obfuscated1 where issn = itemRec.is2 or eissn = itemRec.is2
union
select distinct eissn from web.obfuscated1 where issn = itemRec.is2 or eissn = itemRec.is2
) and group_num is not null and issn is not null and eissn is not null and rownum <= 1;
exception
when no_data_found then
agroup := null;
when others then
agroup := null;
end;
if agroup is not null then
for itemRec2 in ItemCursor2(itemRec.is2) loop
update web.obfuscated1 set group_num = agroup where obfuscated1_uid = itemRec2.obfuscated1_uid;
commit;
end loop;
else
processCount := processCount + 1;
for itemRec1 in ItemCursor1(itemRec.is2) loop
update web.obfuscated1 set group_num = processCount where obfuscated1_uid = itemRec1.obfuscated1_uid;
commit;
end loop;
commit;
end if;
end loop;
dbms_output.put_line('Total record read: ' || processCount);
exception
when others then
dbms_output.put_line('ORA' || sqlcode);
dbms_output.put_line(substr(sqlerrm, 1, 255));
dbms_output.put_line('ORA- Error during processing ');
end;
/
exit;