Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. public function minimizarSGMail()
  2. {
  3. $conn = oci_connect(IC::get('database.username'), IC::get('database.password'), IC::get('database.tns'));
  4. $linhas = 5;
  5. $dias = 90;
  6. $erro = array();
  7.  
  8. // Prepara o sql de insert
  9. $stid = oci_parse($conn, "INSERT INTO TB100442_MAIL_BACKUP (
  10. SELECT * FROM (
  11. SELECT * FROM TB100442_MAIL WHERE
  12. DATA_INSERCAO <= TO_DATE(SYSDATE-{$dias}) AND
  13. ROWNUM <= {$linhas}
  14. ORDER BY ID_MAIL DESC
  15. )
  16. )"
  17. );
  18.  
  19. $r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
  20. if (!$r) {
  21. $e = oci_error($stid);
  22. array_push($erro, htmlentities($e['message'] . '. Linha: ' . __LINE__));
  23. }
  24.  
  25. // Prepara o sql de exclusao
  26. $stid = oci_parse($conn, "DELETE FROM TB100442_MAIL WHERE ID_MAIL IN (
  27. SELECT ID_MAIL FROM (
  28. SELECT ID_MAIL FROM TB100442_MAIL WHERE
  29. DATA_INSERCAO <= TO_DATE(SYSDATE-{$dias})
  30. AND ROWNUM <= {$linhas}
  31. ORDER BY ID_MAIL DESC
  32. )
  33. )"
  34. );
  35.  
  36. $r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
  37. if (!$r) {
  38. $e = oci_error($stid);
  39. array_push($erro, htmlentities($e['message'] . '. Linha: ' . __LINE__));
  40.  
  41. // Rollback das mudancas em ambas as tabelas
  42. oci_rollback($conn);
  43. }
  44.  
  45. // Commita as mudancas em ambas as tabelas
  46. $r = oci_commit($conn);
  47. if (!r) {
  48. $e = oci_error($conn);
  49. array_push($erro, htmlentities($e['message'] . '. Linha: ' . __LINE__));
  50. }
  51.  
  52. echo '<pre>';
  53. print_r($erro);
  54. die;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement