Yii Framework Forum: [Resolvido] Executar Varias Instruções Sql - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Resolvido] Executar Varias Instruções Sql Rate Topic: -----

#1 User is offline   ricardo_rm 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 47
  • Joined: 16-January 12

Posted 22 January 2013 - 05:53 AM

Bom dia gente!

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

Grato,


Ricardo
0

#2 User is offline   Lothor 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 147
  • Joined: 05-August 11
  • Location:Brazil

Posted 14 February 2013 - 06:44 AM

Ricardo, já conseguiu resolver o seu problema?

Tentou fazer isso de que forma?

Já tentou executar seu código dentro de uma única transação?

$connection = $this->connectDb();
$transaction = $connection->beginTransaction();

// Seus comandos aqui

$transaction->commit();

// Obs: Se ocorrer algum erro durante seus comandos...

$transaction->rollBack();

0

#3 User is offline   ricardo_rm 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 47
  • Joined: 16-January 12

Posted 14 February 2013 - 06:52 AM

View PostLothor, on 14 February 2013 - 06:44 AM, said:

Ricardo, já conseguiu resolver o seu problema?

Tentou fazer isso de que forma?

Já tentou executar seu código dentro de uma única transação?

$connection = $this->connectDb();
$transaction = $connection->beginTransaction();

// Seus comandos aqui

$transaction->commit();

// Obs: Se ocorrer algum erro durante seus comandos...

$transaction->rollBack();



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();


muito obrigado pela ajuda!!
0

#4 User is offline   Lothor 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 147
  • Joined: 05-August 11
  • Location:Brazil

Posted 14 February 2013 - 06:54 AM

Saquei, valeu por compartilhar a solução!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users