2016-10-05 4 views
0

В SQL * Plus скрипт я хочу использовать результатКак использовать выберите результат в другом SQL Statement

select SUBSTR(file_name, 0, INSTR(file_name,'\',-1,1)) 
    into :oradataPath 
from dba_data_files where ROWNUM = 1; 

в следующем заявлении:

CREATE TABLESPACE DEMO DATAFILE '&oradataPath\DEMO.DBF'; 

но SQL * Plus запрашивает me для значения oradataPath

ответ

2

Возможно, вам понадобится динамический sql; например:

declare 
    vOradataPath varchar2(100); 
    vSQL   varchar2(1000); 
begin 
    select SUBSTR(file_name, 0, INSTR(file_name,'\',-1,1)) 
    into vOradataPath 
    from dba_data_files 
    where ROWNUM = 1; 
    -- 
    vSQl := 'CREATE TABLESPACE DEMO DATAFILE ''' || vOradataPath || '\DEMO.DBF'''; 
    execute immediate vSQL; 
end; 

 Смежные вопросы

  • Нет связанных вопросов^_^