Ver Mensaje Individual
  #2  
Antiguo 05-11-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Solo te podremos echar una mano si nos dices cual es el error. (El mensaje exacto que te devuelve esta operación)
Tampoco nos informas de la base de datos que estás utilizando... ¿MySQL quizás? ¿Firebird? ¿MSSQL Server?

He dado formato al SQL que has puesto. ¿Es este?
Código SQL [-]
execute block returns (o_rac integer)
as
declare variable p_datefrom varchar(8);
declare variable p_dateto varchar(8);
declare variable o_timef varchar(5);
declare variable o_timet varchar(5);
declare variable p_hostip varchar(15);
begin
    p_datefrom = '20141017';
    p_dateto = '20141017';
    o_timef = '11:00';
    o_timet = '12:00';
    p_hostip = '192.168.x.x';

    for execute statement 'select o_rac from sp_calculate_rac(_datefrom, _dateto, _timef, _timet)'
        on external data source p__hostip||':stats'
        as user 'SYSDBA'
        password 'masterkey'
        into _rac
    do
        suspend;
end;

Yo supongo que la parte donde formas el STATEMENT debes reemplazar las variables convirtiéndolas a "strings".

Código SQL [-]
    /* Deberia quedar 'select o_rac from sp_calculate_rac( '20141017' , '20141017' , '11:00' , '12:00' )' */
    for execute statement 'select o_rac from sp_calculate_rac( '''||_datefrom||''' , ''' || _dateto || ''' , ''' || _timef || ''' , '''|| _timet || ''' )'
Responder Con Cita