반응형
SQL*Plus에서 시작/종료를 사용하여 Oracle 쿼리를 실행하는 방법
시작/종료를 지정하여 쿼리 블록을 생성했으며 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;
하지만 이건 절대 실행되지 않아요코드를 어떻게 작동시키죠?
이렇게 슬래시를 붙여서 따라가야 돼요.
begin
dbms_output.put_line('Hello World');
end;
/
실행시키려면 마지막에 줄에 "/"만 있으면 됩니다.
언급URL : https://stackoverflow.com/questions/4221834/how-to-run-oracle-query-with-begin-end-in-sqlplus
반응형
'programing' 카테고리의 다른 글
WooCommerce 검색 결과 템플릿 (0) | 2023.03.22 |
---|---|
Elastic Search를 사용하여 중첩된 객체를 검색하는 방법 (0) | 2023.03.22 |
Oracle SQL : where 절의 타임스탬프 (0) | 2023.03.22 |
플러그인 제목 이름 변경 방법> Wordpress > Dashboard (0) | 2023.03.22 |
Android에서 Json 어레이 읽기 (0) | 2023.03.22 |