你可以这样来实现
select * from mytable
where trunc(mydate)=trunc(sysdate)-&i
这样在执行时会提示让你输入变量的值,然后再执行

解决方案 »

  1.   

    如果你是用pl/sql dev工具测试的话,可以这么写:
    select * from .......where ...-&i
    这样系统会要求输入一个值.如果写在pl/sql块中:
    ...
        i number(8);
    begin
        i=7;
        selet ...into ...from   ....where   ...-i;  ...
    end;
      

  2.   

    可以用&来select &s1
    from &f1,&f2
    where &w1;
      

  3.   

    可以设变量的。没有问题!
    但是你定义变量的方式不对,不满足sql语法。declare  i  integer
    i :=7select * from mytable
    where trunc(mydate)=trunc(sysdate)-i
      

  4.   

    如果你是用pl/sql dev工具测试的话,可以这么写:
    select * from .......where ...-&i
    这样系统会要求输入一个值.要不然你就写一个存储过程,调用存储过程就可以