Autor Tópico: [RESOLVIDO] - Setar " set sql_safe_updates=0" como faço?  (Lida 677 vezes)

acacio_limap

  • Novato
  • *
  • Mensagens: 22
[RESOLVIDO] - Setar " set sql_safe_updates=0" como faço?
« Online: Julho 01, 2016, 02:11:50 pm »
Minha dúvida é simples, porém não achei solução ainda. Estou tentando fazer uns updates e preciso utilizar isso, inclusive testei no mysql workbench e deu certo. Utilizei a macro sc_exec_sql para tentar setar mas não obtive sucesso.

Alguém pode me ajudar?

Agradeço pela atenção.
« Última modificação: Julho 04, 2016, 09:33:06 am por Ronyan Alves »

Willian Fernando

  • Expert
  • *****
  • Mensagens: 1149
  • .....
    • Email
Re:Setar " set sql_safe_updates=0" como faço?
« Responder #1 Online: Julho 01, 2016, 03:25:19 pm »
por default o mysql ja deixa em 0 isso

acacio_limap

  • Novato
  • *
  • Mensagens: 22
Re:Setar " set sql_safe_updates=0" como faço?
« Responder #2 Online: Julho 01, 2016, 04:16:38 pm »
Porém não está funcionando desta forma, tentei e não consegui pelo scriptcase, ele não realiza o update...

Jailton

  • Expert
  • *****
  • Mensagens: 2038
Re:Setar " set sql_safe_updates=0" como faço?
« Responder #3 Online: Julho 01, 2016, 06:18:17 pm »
Usa conexão MySQL PDO.

E coloca este código:
$sql='SET SQL_SAFE_UPDATES=0';

sc_exec_sql($sql);


No SC você não pode passar várias linhas de comandos no mesmo sc_exec_sql, tem que dividir ou criar uma procedure e chamar ela com call.
$sql="call saldo_financeiro_conciliados_sim($CentroCustoLiquidacao_SQL) ";

sc_exec_sql($sql);
« Última modificação: Julho 01, 2016, 06:20:43 pm por Jailton »
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

acacio_limap

  • Novato
  • *
  • Mensagens: 22
Re:Setar " set sql_safe_updates=0" como faço?
« Responder #4 Online: Julho 02, 2016, 10:34:22 am »
Usa conexão MySQL PDO.

E coloca este código:
$sql='SET SQL_SAFE_UPDATES=0';

sc_exec_sql($sql);


No SC você não pode passar várias linhas de comandos no mesmo sc_exec_sql, tem que dividir ou criar uma procedure e chamar ela com call.
$sql="call saldo_financeiro_conciliados_sim($CentroCustoLiquidacao_SQL) ";

sc_exec_sql($sql);

Foi desta forma que tentei e não consegui. Achei melhor postar o código aqui para darem uma olhada. Esse código está no evento onAfterUpdate:

Código: [Selecionar]
sc_select(rs, "SELECT id, nome_arquivo FROM documento_item WHERE id =".{documentos_id});

if (false == {rs})     // Error while accessing database
{
    sc_error_message('Error while accessing database.');
}
else
{
   while(!$rs->EOF)
    {
   $set_updates='SET SQL_SAFE_UPDATES=0';

sc_exec_sql($set_updates);
   
sc_exec_sql("UPDATE ler_txt_item SET documento_item_id = ".$rs->fields[0]." WHERE nome_txt LIKE '".retirarExtensao($rs->fields[1])."%'");
    sc_exec_sql("UPDATE documento_item SET txt_lido = 'sim' WHERE id = ".$rs->fields[0]);
$rs->MoveNext();
    }
    $rs->Close();
}

acacio_limap

  • Novato
  • *
  • Mensagens: 22
Re:Setar " set sql_safe_updates=0" como faço?
« Responder #5 Online: Julho 02, 2016, 10:41:27 am »
Depois de vários testes consegui, e percebi que o erra estava no programador, rsrsrsrsrs...

O que o Jailton falou serviu.

Obrigado a todos.