2016-11-30 9 views
0

データをスプールしてデータをXMLに読み込むためにSQLスクリプトを使用していますoracle sqlスクリプトで変数を使用できますか?

別のSQLクエリから値を取得するSQLスクリプトで変数を使用できるかどうかをチェックしたいと思います。このような

何か:

var1= select count(1) from emp 

spool filename 


select * from dept where empcnt=var1 

が、それは動作しますか?これが最善のやり方なのですか?

答えて

3

あなたはSQLPLUSを使用していて、あなただけがbind variablesで、次のようなものを行うことができますSQL(ないPLSQLを)したい場合:

spool yourFile 
variable var1 number 
select count(1) into :var1 from dual; 
select * from dual where rownum = :var1; 

もう一つの方法は、substitution variablesと考えられます。

spool yourFile 
column var1 new_value valueFor_var1 
select count(1) as valueFor_var1 from dual; 
select * from dual where rownum = &var1; 

PLSQLブロックを使用できる場合は、次の操作を実行できます。

spool yourFile 
declare 
    var1 number; 
    vDummy varchar2(100); 
begin 
    select count(1) into var1 from dual; 
    select dummy into vDummy from dual where rownum = var1; 
    dbms_output.put_line(vDummy); 
end; 
/ 
関連する問題