declare
  v_date date;
begin
  v_date:=to_date('2013-01-04','yyyy-mm-dd');  
end;
select * from TABLE1 where c_date=v_date
如上脚本,我想定义一个日期变量,然后执行下面语句时引用那个日期变量,但是无法执行,感觉与MS SQL 差异挺大的,本人ORACLE菜鸟,求助各路大虾,教教小弟。谢谢。

解决方案 »

  1.   

    select * 要放到begin ... end中,而且存储过程里面只能是select ... into ...
      

  2.   


    多谢你的回答就是说不像 MS SQL 那样 定义好一个变量后直接 SELECT 语句后面引用就行了?
    我开始在网上找了些资料,基本上讲的都是定义变量,然后赋予变量值,之后是输出变量没见到之后有直接语句WHERE条件里引用的所以比较纳闷。。这样的话用起来不是很复杂么?
      

  3.   

    declare
      v_date date;
    begin
      v_date:=to_date('2013-01-04','yyyy-mm-dd');
      dbms_output.put_line(to_char(v_date,'yyyymmdd'));    
    end;
      

  4.   


    然后的 SQL 语句查询引用如何写?
      

  5.   


    输出变量后如何在其他语句中引用这个变量呢? 就比如  SELECT * FROM TABLE1 WHERE C_DATE= 变量 ,我想知道这个怎么写。。
    上面您给的网上一搜一大把的,谢谢。
      

  6.   

    SELECT * FROM TABLE1 WHERE C_DATE=&tt
    试试。& 后面就是变量。