Chinaunix

标题: 我的一个*.sql程序问题,请大家帮忙看看. [打印本页]

作者: jia75111520    时间: 2007-07-23 08:22
标题: 我的一个*.sql程序问题,请大家帮忙看看.
*.sql文件程序如下,我调试后出现了问题
set lines 8000
set pages 10000
Select To_Char(Sysdate, 'ddhh24') Into v_Date From Dual;
spool /m/home/xtgsm/sql/del2_&v_Date..txt  
(我想用这两句每次运行这个程序就自动写入以今天的时间日期如(2007072120“20是小时,系统前一小时”命名的TXT文件里,可是在这里就出现了错误,还请指出。)
spool /m/home/xtgsm/sql/del2_&DayBH..txt
column repdate format A12 heading 'repdate'
column bh format A3 heading 'bh'
  
update p_nbsc_service s
set s.DROP_AFTER_TCH_ASSIGN = s.DROP_AFTER_TCH_ASSIGN - 1
where s.bts_int_id in(select  b.int_id
                       from   c_bts b
                       where  29760 <= b.la_id_lac
                              and  b.la_id_lac <= 29763)  
and  s.period_start_time >= to_date(To_Char((Sysdate), 'yyyymmdd') )“这句是想自动输入开始时间如20070721”
and  s.period_start_time <= to_date(To_Char((Sysdate) + 1, 'yyyymmdd') )”这句是结束的时间20070722“
and  to_char(s.period_start_time,'hh24')=to_number(To_Char((Sysdate, 'hh24') - 1) )”这句是输入小时如,20“
and  s.DROP_AFTER_TCH_ASSIGN >= 2 ;

现在程序可以执行,那红色的程序是有问题的,还有后面的我想自动输入的时间,可能不对,因为好像起不到作用,还请大家指出问题。
作者: numenhuang    时间: 2007-07-23 12:39
原帖由 jia75111520 于 2007-7-23 08:22 发表
*.sql文件程序如下,我调试后出现了问题
set lines 8000
set pages 10000
Select To_Char(Sysdate, 'ddhh24') Into v_Date From Dual;
spool /m/home/xtgsm/sql/del2_&v_Date..txt  (我想用这两句每次运行 ...


column date1 new_value filename;
select to_char(sysdate,'ddhh24') date1 from dual;
spool /m/home/xtgsm/sql/del2_&&filename..txt

至于后面的替换变量可以采取这种方式:

variable t date;

begin
    select sysdate into :t from dual;

    select ... from ...
                  where ... < :t
                  ....
end;
/

实现方式可以有很多。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2