Подтвердить что ты не робот

Как запустить запрос Oracle с начала/конца в SQL * Plus?

Я создал блок запроса с begin/end и хочу запустить его в SQL * Plus. Но как я могу запустить его в командной строке?

На самом деле код из какого-то блога и используется для поиска текста в базе данных. ABC - это тексты для поиска.

set serveroutput on size 1000000
declare
TYPE QueryCurType is REF CURSOR;
query1 QueryCurType ;

cursor c1 is select owner,table_name from dba_tables where owner not in ('SYS','SYSTEM') and table_name not like '%$%';
cursor c2(t1 varchar2) is select column_name from dba_tab_columns where table_name=t1 and DATA_TYPE in ('NVARCHAR2','VARCHAR2','CHAR');
temp_var varchar2(3000);
query varchar2(3000);

begin
for tab1 in c1 loop
  for col in c2(tab1.table_name) loop
    query:='select '||col.column_name||' from '||tab1.owner||'.'||tab1.table_name||' where '||col.column_name||' like "ABC"';
    --dbms_output.put_line('executing..'||query);
    open query1 for query;
    loop
      fetch query1 into temp_var;
      if concat('a',temp_var) != 'a' then
      dbms_output.put_line('Found String: "'||temp_var||'"# Column:'||col.column_name||'# Table:'||tab1.table_name);
      end if;
      exit when query1%NOTFOUND;
    end loop;
  end loop;
end loop;
end;

но это никогда не запускается. Как я могу запускать коды?

4b9b3361

Ответ 1

Вам нужно следовать за ним с косой чертой, например

begin
  dbms_output.put_line('Hello World');
end;
/

Ответ 2

Вероятно, вам просто понадобится "/" в строке в конце, чтобы выполнить ее.