想在存储过程里 写成这个格式:
select * from perf_bsc Where ne_id not in (select ne_id from perf_bsc where start_time=to_date('2008-10-07 00:00:00','yyyy-mm-dd hh24:mi:ss'))
And start_time=to_date('2008-10-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
CREATE OR REPLACE Procedure exec_fill_idlecell(start_time_Input Date)
As
--start_time_input_after Date;
v_sql Varchar2(200);
--v_sql2 Varchar2(200);
Begin
v_sql:='Create Table IdlecellTmpTab As select * from perf_bsc where ne_id not in (select ne_id from perf_bsc where start_time=''';
v_sql:=v_sql || start_time_input;
v_sql:=v_sql|| ') and start_time=''';
v_sql:=v_sql||start_time_input;
v_sql:=v_sql||'''';execute Immediate v_sql;
执行的时候 总是报错了 不是缺少又括号就是别的。。 求教~~
select * from perf_bsc Where ne_id not in (select ne_id from perf_bsc where start_time=to_date('2008-10-07 00:00:00','yyyy-mm-dd hh24:mi:ss'))
And start_time=to_date('2008-10-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
CREATE OR REPLACE Procedure exec_fill_idlecell(start_time_Input Date)
As
--start_time_input_after Date;
v_sql Varchar2(200);
--v_sql2 Varchar2(200);
Begin
v_sql:='Create Table IdlecellTmpTab As select * from perf_bsc where ne_id not in (select ne_id from perf_bsc where start_time=''';
v_sql:=v_sql || start_time_input;
v_sql:=v_sql|| ') and start_time=''';
v_sql:=v_sql||start_time_input;
v_sql:=v_sql||'''';execute Immediate v_sql;
执行的时候 总是报错了 不是缺少又括号就是别的。。 求教~~
And start_time=to_date('2008-10-07 00:00:00','yyyy-mm-dd hh24:mi:ss') )
v_sql:=v_sql || start_time_input;
v_sql:=v_sql|| ') and start_time=';
v_sql:=v_sql||start_time_input; 试试这个?
CREATE OR REPLACE Procedure exec_fill_idlecell(start_time_Input Date)
As
--start_time_input_after Date;
v_sql Varchar2(500);
--v_sql2 Varchar2(200);
v_sql:='Create Table IdlecellTmpTab As
select * from perf_bsc where ne_id not in (
select ne_id from perf_bsc where start_time=to_date(''';
v_sql:=v_sql || to_char(start_time_input,'yyyymmddhh24miss');
v_sql:=v_sql|| ''',''yyyymmddhh24miss''))
and start_time=to_date(''';
v_sql:=v_sql||to_char(start_time_input,'yyyymmddhh24miss');
v_sql:=v_sql||''',''yyyymmddhh24miss'')';execute Immediate v_sql;
end exec_fill_idlecell;
或者将传入参数的格式改成字符型,可以省去to_char这步