Alguém conhece uma maneira de executar mais de um comando SQL num statement. Pois executo uma query, crio uma tabela temporaria, depois necessito acessar os resultados dessa tabela temporário.
O erro que estou obtendo é o seguinte:
CDbCommand falhou ao executar o comando SQL: SQLSTATE[42601]: Syntax error: 7 ERROR: cannot insert multiple commands into a prepared statement
Resolvi sim!! Não tentei dessa maneira, o que fiz foi executar uma instrução por vez e funcionou!! assim:
$sql = 'create temporary table entradas_temp
select
sum(a.qt_incidencia_passageiro) as entradas,
a.dt_diario,
a.cd_zon,
\'entrada\' as tipo
from ....... ';
Yii::app()->db->createCommand($sql)->queryAll();
$sql = 'insert into entradas_temp
select sum(c.qt_integracao), a.dt_diario, a.cd_zon, \'integracao\'
from entradas_temp a
inner join gop_seo.gop_seo_opzlint b on
b.cd_zon = a.cd_zon
inner join gop_seo.gop_seo_opintgra c on
c.nr_zolin = b.nr_zolin and
c.dt_diario = a.dt_diario
group by a.dt_diario, a.cd_zon
order by a.dt_diario;';
Yii::app()->db->createCommand($sql)->queryAll();
$sql = 'select sum(a.entradas) as entradas, extract(month from a.dt_diario) as mes from entradas_temp a group by extract(month from a.dt_diario) order by mes;';
$result = Yii::app()->db->createCommand($sql)->queryAll();