2016-11-30 74 views
0

我正在使用SQL脚本来后台数据和加载数据到XML我可以在oracle sql脚本中使用变量吗?

我想检查我是否可以在SQL脚本中使用变量,从另一个SQL查询获取它的值。

事情是这样的:

var1= select count(1) from emp 

spool filename 


select * from dept where empcnt=var1 

可以吗?这是最好的方式还是其他方式?

回答

3

如果你用sqlplus,而您只需要SQL(不PLSQL),你可以这样做以下,与bind variables

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; 
/ 
相关问题