Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    stored procedure o function su diversi db

    Salve a tutti..

    vorrei utilizzare una function o una procedure che contengono molti istruzioni sql pero applicarla di volta in volta a dirsi database..

    Es function esegui_sql(database)

    si puo fare una cosa del genere? e come ? oppure conoscete un altro metodo?

    grazie caro

  2. #2
    Non ti converrebbe inserire le istruzioni SQL in un array ed eseguirle tramite PHP una per volta, eventualmente utilizzando una funzione?

  3. #3
    io volevo ottimizzarlo lato server..
    eseguire le query uno alla volta lo ritengo uno spreco di risorse
    poi soprattutto perche le istruzioni sql sono tante ed in un file
    quindi dovrei leggere il file ed eseguire le query invece mettendole lato
    server dovrei fare solo una chiamata alla function o la procedure...

    avete altre soluzioni?

  4. #4
    Se lo vuoi fare "lato server" ossia direttamente nel database, è sufficiente che crei la stessa stored procedure per ogni database.

  5. #5
    ma nn credi ke sia una ridondanza inutile?
    dato ke deve eseguire sempre le stesse istruzioni sql.

  6. #6
    Come da manuale:

    http://dev.mysql.com/doc/refman/5.0/...re-syntax.html
    As of MySQL 5.0.1, a stored procedure or function is associated with a particular database.

  7. #7
    si ho visto il manuale e risulta quello ho dicevo nel primo post cioè che ciascun database ha le sue function e le sue procedure..

    cmq ho provato a fare una cosa del genere

    $sql = file_get_contents("./sql.inc");
    mysql_query(trim($sql))or die(mysql_error());

    dove nel file sql ci sono tutte le istruzione sql
    ma mi da l'errore seguente

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';CREATE TABLE area_comunicazioni ......
    http://www.salsanapoli.com - la salsa in ogni sua forma (cubana portorican newyork style LA style) a napoli e nei dintorni.

  8. #8
    L'errore avviene perche' NON puoi eseguire piu' query SQL nella stessa chiamata a mysql_query(), devi richiamare mysql_query() per ogni istruzione SQL.

  9. #9

    Re: stored procedure o function su diversi db

    Originariamente inviato da idemo
    vorrei utilizzare una function o una procedure che contengono molti istruzioni sql pero applicarla di volta in volta a dirsi database..
    Originariamente inviato da idemo
    ho provato a fare una cosa del genere

    $sql = file_get_contents("./sql.inc");
    mysql_query(trim($sql))or die(mysql_error());

    dove nel file sql ci sono tutte le istruzione sql
    mi pare che sei passato da un estremo all'altro.
    Concettualmente è molto buona l'idea di usare delle stored procedure, per tante ragioni: sicurezza, performance, banda etc. solo che tu volevi usare una stessa stored procedure su più database (almeno questo è quanto si era capito). Cosa non consentita.

    Non ti dovrebbe essere difficile però replicare le stesse stored procedure sui diversi database, no? A quel punto la variabile da impiegare diventerebbe la connessione.
    Qualunque imbecille può inventare e imporre tasse. (Maffeo Pantaleoni)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.